! function() {
	return function e(t, r, o) {
		function s(n, a) {
			if (!r[n]) {
				if (!t[n]) {
					var g = "function" == typeof require && require;
					if (!a && g) return g(n, !0);
					if (i) return i(n, !0);
					var p = new Error("Cannot find module '" + n + "'");
					throw p.code = "MODULE_NOT_FOUND", p
				}
				var l = r[n] = {
					exports: {}
				};
				t[n][0].call(l.exports, function(e) {
					return s(t[n][1][e] || e)
				}, l, l.exports, e, t, r, o)
			}
			return r[n].exports
		}
		for (var i = "function" == typeof require && require, n = 0; n < o.length; n++) s(o[n]);
		return s
	}
}()({
	1: [function(e, t, r) {
		var o = e("google-protobuf");
		window.proto_o = o;
		
			s = o,
			i = Function("return this")();
		s.exportSymbol("proto.AssetEffectMixInfo", null, i), s.exportSymbol("proto.ChatMessage", null, i), s
			.exportSymbol("proto.Common", null, i), s.exportSymbol("proto.ControlMessage", null, i), s
			.exportSymbol("proto.Decoration", null, i), s.exportSymbol("proto.EffectMixImageInfo", null, i),
			s.exportSymbol("proto.FansclubMessage", null, i), s.exportSymbol("proto.GiftBanner", null, i), s
			.exportSymbol("proto.GiftBuffInfo", null, i), s.exportSymbol("proto.GiftGroupInfo", null, i), s
			.exportSymbol("proto.GiftIMPriority", null, i), s.exportSymbol("proto.GiftMessage", null, i), s
			.exportSymbol("proto.GiftMessage.TextEffect", null, i), s.exportSymbol(
				"proto.GiftMessage.TextEffect.Detail", null, i), s.exportSymbol("proto.GiftPanelOperation",
				null, i), s.exportSymbol("proto.GiftPreviewInfo", null, i), s.exportSymbol(
				"proto.GiftStruct", null, i), s.exportSymbol("proto.GiftStruct.GiftStructFansClubInfo",
				null, i), s.exportSymbol("proto.GiftTip", null, i), s.exportSymbol("proto.GiftTrayInfo",
				null, i), s.exportSymbol("proto.Image", null, i), s.exportSymbol("proto.Image.Content",
				null, i), s.exportSymbol("proto.LikeMessage", null, i), s.exportSymbol("proto.LinkMic",
				null, i), s.exportSymbol("proto.LuckyMoneyGiftMeta", null, i), s.exportSymbol(
				"proto.MemberMessage", null, i), s.exportSymbol("proto.MemberMessage.EffectConfig", null,
			i), s.exportSymbol("proto.Message", null, i), s.exportSymbol("proto.PublicAreaCommon", null, i),
			s.exportSymbol("proto.PushFrame", null, i), s.exportSymbol("proto.Response", null, i), s
			.exportSymbol("proto.Room", null, i), s.exportSymbol("proto.RoomExtra", null, i), s
			.exportSymbol("proto.RoomStats", null, i), s.exportSymbol("proto.RoomUserAttr", null, i), s
			.exportSymbol("proto.RoomUserSeqMessage", null, i), s.exportSymbol(
				"proto.RoomUserSeqMessage.Contributor", null, i), s.exportSymbol("proto.SocialMessage",
				null, i), s.exportSymbol("proto.StreamUrl", null, i), s.exportSymbol("proto.Text", null, i),
			s.exportSymbol("proto.TextFormat", null, i), s.exportSymbol("proto.TextPiece", null, i), s
			.exportSymbol("proto.TextPieceUser", null, i), s.exportSymbol("proto.TopFan", null, i), s
			.exportSymbol("proto.User", null, i), s.exportSymbol("proto.User.AnchorInfo", null, i), s
			.exportSymbol("proto.User.Border", null, i), s.exportSymbol("proto.User.FansClub", null, i), s
			.exportSymbol("proto.User.FansClub.FansClubData", null, i), s.exportSymbol(
				"proto.User.FansClub.FansClubData.UserBadge", null, i), s.exportSymbol(
				"proto.User.FollowInfo", null, i), s.exportSymbol("proto.User.GradeBuffInfo", null, i), s
			.exportSymbol("proto.User.OwnRoom", null, i), s.exportSymbol("proto.User.PayGrade", null, i), s
			.exportSymbol("proto.User.PayGrade.GradeIcon", null, i), s.exportSymbol("proto.User.UserAttr",
				null, i), proto.PushFrame = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.PushFrame, o.Message), s.DEBUG && !COMPILED && (proto.PushFrame
				.displayName = "proto.PushFrame"), proto.Response = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.Response.repeatedFields_, null)
			}, s.inherits(proto.Response, o.Message), s.DEBUG && !COMPILED && (proto.Response.displayName =
				"proto.Response"), proto.Message = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.Message, o.Message), s.DEBUG && !COMPILED && (proto.Message.displayName =
				"proto.Message"), proto.RoomUserSeqMessage = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.RoomUserSeqMessage.repeatedFields_, null)
			}, s.inherits(proto.RoomUserSeqMessage, o.Message), s.DEBUG && !COMPILED && (proto
				.RoomUserSeqMessage.displayName = "proto.RoomUserSeqMessage"), proto.RoomUserSeqMessage
			.Contributor = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.RoomUserSeqMessage.Contributor, o.Message), s.DEBUG && !COMPILED && (proto
				.RoomUserSeqMessage.Contributor.displayName = "proto.RoomUserSeqMessage.Contributor"), proto
			.GiftMessage = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftMessage, o.Message), s.DEBUG && !COMPILED && (proto.GiftMessage
				.displayName = "proto.GiftMessage"), proto.GiftMessage.TextEffect = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftMessage.TextEffect, o.Message), s.DEBUG && !COMPILED && (proto
				.GiftMessage.TextEffect.displayName = "proto.GiftMessage.TextEffect"), proto.GiftMessage
			.TextEffect.Detail = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftMessage.TextEffect.Detail, o.Message), s.DEBUG && !COMPILED && (proto
				.GiftMessage.TextEffect.Detail.displayName = "proto.GiftMessage.TextEffect.Detail"), proto
			.LikeMessage = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.LikeMessage, o.Message), s.DEBUG && !COMPILED && (proto.LikeMessage
				.displayName = "proto.LikeMessage"), proto.ChatMessage = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.ChatMessage, o.Message), s.DEBUG && !COMPILED && (proto.ChatMessage
				.displayName = "proto.ChatMessage"), proto.SocialMessage = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.SocialMessage, o.Message), s.DEBUG && !COMPILED && (proto.SocialMessage
				.displayName = "proto.SocialMessage"), proto.MemberMessage = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.MemberMessage, o.Message), s.DEBUG && !COMPILED && (proto.MemberMessage
				.displayName = "proto.MemberMessage"), proto.MemberMessage.EffectConfig = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.MemberMessage.EffectConfig.repeatedFields_, null)
			}, s.inherits(proto.MemberMessage.EffectConfig, o.Message), s.DEBUG && !COMPILED && (proto
				.MemberMessage.EffectConfig.displayName = "proto.MemberMessage.EffectConfig"), proto
			.ControlMessage = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.ControlMessage, o.Message), s.DEBUG && !COMPILED && (proto.ControlMessage
				.displayName = "proto.ControlMessage"), proto.FansclubMessage = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.FansclubMessage, o.Message), s.DEBUG && !COMPILED && (proto.FansclubMessage
				.displayName = "proto.FansclubMessage"), proto.Common = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.Common, o.Message), s.DEBUG && !COMPILED && (proto.Common.displayName =
				"proto.Common"), proto.Text = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.Text.repeatedFields_, null)
			}, s.inherits(proto.Text, o.Message), s.DEBUG && !COMPILED && (proto.Text.displayName =
				"proto.Text"), proto.Room = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.Room.repeatedFields_, null)
			}, s.inherits(proto.Room, o.Message), s.DEBUG && !COMPILED && (proto.Room.displayName =
				"proto.Room"), proto.RoomExtra = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.RoomExtra, o.Message), s.DEBUG && !COMPILED && (proto.RoomExtra
				.displayName = "proto.RoomExtra"), proto.RoomStats = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.RoomStats, o.Message), s.DEBUG && !COMPILED && (proto.RoomStats
				.displayName = "proto.RoomStats"), proto.RoomUserAttr = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.RoomUserAttr, o.Message), s.DEBUG && !COMPILED && (proto.RoomUserAttr
				.displayName = "proto.RoomUserAttr"), proto.StreamUrl = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.StreamUrl, o.Message), s.DEBUG && !COMPILED && (proto.StreamUrl
				.displayName = "proto.StreamUrl"), proto.LinkMic = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.LinkMic, o.Message), s.DEBUG && !COMPILED && (proto.LinkMic.displayName =
				"proto.LinkMic"), proto.Decoration = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.Decoration, o.Message), s.DEBUG && !COMPILED && (proto.Decoration
				.displayName = "proto.Decoration"), proto.TopFan = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.TopFan, o.Message), s.DEBUG && !COMPILED && (proto.TopFan.displayName =
				"proto.TopFan"), proto.User = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.User.repeatedFields_, null)
			}, s.inherits(proto.User, o.Message), s.DEBUG && !COMPILED && (proto.User.displayName =
				"proto.User"), proto.User.UserAttr = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.UserAttr, o.Message), s.DEBUG && !COMPILED && (proto.User.UserAttr
				.displayName = "proto.User.UserAttr"), proto.User.OwnRoom = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.OwnRoom, o.Message), s.DEBUG && !COMPILED && (proto.User.OwnRoom
				.displayName = "proto.User.OwnRoom"), proto.User.AnchorInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.AnchorInfo, o.Message), s.DEBUG && !COMPILED && (proto.User.AnchorInfo
				.displayName = "proto.User.AnchorInfo"), proto.User.FollowInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.FollowInfo, o.Message), s.DEBUG && !COMPILED && (proto.User.FollowInfo
				.displayName = "proto.User.FollowInfo"), proto.User.FansClub = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.FansClub, o.Message), s.DEBUG && !COMPILED && (proto.User.FansClub
				.displayName = "proto.User.FansClub"), proto.User.FansClub.FansClubData = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.User.FansClub.FansClubData.repeatedFields_, null)
			}, s.inherits(proto.User.FansClub.FansClubData, o.Message), s.DEBUG && !COMPILED && (proto.User
				.FansClub.FansClubData.displayName = "proto.User.FansClub.FansClubData"), proto.User
			.FansClub.FansClubData.UserBadge = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.FansClub.FansClubData.UserBadge, o.Message), s.DEBUG && !COMPILED && (
				proto.User.FansClub.FansClubData.UserBadge.displayName =
				"proto.User.FansClub.FansClubData.UserBadge"), proto.User.Border = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.Border, o.Message), s.DEBUG && !COMPILED && (proto.User.Border
				.displayName = "proto.User.Border"), proto.User.GradeBuffInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.GradeBuffInfo, o.Message), s.DEBUG && !COMPILED && (proto.User
				.GradeBuffInfo.displayName = "proto.User.GradeBuffInfo"), proto.User.PayGrade = function(
			e) {
				o.Message.initialize(this, e, 0, 500, proto.User.PayGrade.repeatedFields_, null)
			}, s.inherits(proto.User.PayGrade, o.Message), s.DEBUG && !COMPILED && (proto.User.PayGrade
				.displayName = "proto.User.PayGrade"), proto.User.PayGrade.GradeIcon = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.User.PayGrade.GradeIcon, o.Message), s.DEBUG && !COMPILED && (proto.User
				.PayGrade.GradeIcon.displayName = "proto.User.PayGrade.GradeIcon"), proto.TextFormat =
			function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.TextFormat, o.Message), s.DEBUG && !COMPILED && (proto.TextFormat
				.displayName = "proto.TextFormat"), proto.TextPiece = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.TextPiece, o.Message), s.DEBUG && !COMPILED && (proto.TextPiece
				.displayName = "proto.TextPiece"), proto.Image = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.Image.repeatedFields_, null)
			}, s.inherits(proto.Image, o.Message), s.DEBUG && !COMPILED && (proto.Image.displayName =
				"proto.Image"), proto.Image.Content = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.Image.Content, o.Message), s.DEBUG && !COMPILED && (proto.Image.Content
				.displayName = "proto.Image.Content"), proto.TextPieceUser = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.TextPieceUser, o.Message), s.DEBUG && !COMPILED && (proto.TextPieceUser
				.displayName = "proto.TextPieceUser"), proto.PublicAreaCommon = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.PublicAreaCommon, o.Message), s.DEBUG && !COMPILED && (proto
				.PublicAreaCommon.displayName = "proto.PublicAreaCommon"), proto.GiftIMPriority = function(
				e) {
				o.Message.initialize(this, e, 0, -1, proto.GiftIMPriority.repeatedFields_, null)
			}, s.inherits(proto.GiftIMPriority, o.Message), s.DEBUG && !COMPILED && (proto.GiftIMPriority
				.displayName = "proto.GiftIMPriority"), proto.GiftTrayInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftTrayInfo, o.Message), s.DEBUG && !COMPILED && (proto.GiftTrayInfo
				.displayName = "proto.GiftTrayInfo"), proto.GiftStruct = function(e) {
				o.Message.initialize(this, e, 0, -1, proto.GiftStruct.repeatedFields_, null)
			}, s.inherits(proto.GiftStruct, o.Message), s.DEBUG && !COMPILED && (proto.GiftStruct
				.displayName = "proto.GiftStruct"), proto.GiftStruct.GiftStructFansClubInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftStruct.GiftStructFansClubInfo, o.Message), s.DEBUG && !COMPILED && (
				proto.GiftStruct.GiftStructFansClubInfo.displayName =
				"proto.GiftStruct.GiftStructFansClubInfo"), proto.AssetEffectMixInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.AssetEffectMixInfo, o.Message), s.DEBUG && !COMPILED && (proto
				.AssetEffectMixInfo.displayName = "proto.AssetEffectMixInfo"), proto.LuckyMoneyGiftMeta =
			function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.LuckyMoneyGiftMeta, o.Message), s.DEBUG && !COMPILED && (proto
				.LuckyMoneyGiftMeta.displayName = "proto.LuckyMoneyGiftMeta"), proto.GiftPanelOperation =
			function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftPanelOperation, o.Message), s.DEBUG && !COMPILED && (proto
				.GiftPanelOperation.displayName = "proto.GiftPanelOperation"), proto.GiftBanner = function(
				e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftBanner, o.Message), s.DEBUG && !COMPILED && (proto.GiftBanner
				.displayName = "proto.GiftBanner"), proto.GiftBuffInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftBuffInfo, o.Message), s.DEBUG && !COMPILED && (proto.GiftBuffInfo
				.displayName = "proto.GiftBuffInfo"), proto.GiftPreviewInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftPreviewInfo, o.Message), s.DEBUG && !COMPILED && (proto.GiftPreviewInfo
				.displayName = "proto.GiftPreviewInfo"), proto.GiftTip = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftTip, o.Message), s.DEBUG && !COMPILED && (proto.GiftTip.displayName =
				"proto.GiftTip"), proto.GiftGroupInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.GiftGroupInfo, o.Message), s.DEBUG && !COMPILED && (proto.GiftGroupInfo
				.displayName = "proto.GiftGroupInfo"), proto.EffectMixImageInfo = function(e) {
				o.Message.initialize(this, e, 0, -1, null, null)
			}, s.inherits(proto.EffectMixImageInfo, o.Message), s.DEBUG && !COMPILED && (proto
				.EffectMixImageInfo.displayName = "proto.EffectMixImageInfo"), o.Message
			.GENERATE_TO_OBJECT && (proto.PushFrame.prototype.toObject = function(e) {
				return proto.PushFrame.toObject(e, this)
			}, proto.PushFrame.toObject = function(e, t) {
				var r, s = {
					seqid: o.Message.getFieldWithDefault(t, 1, 0),
					logid: o.Message.getFieldWithDefault(t, 2, 0),
					service: o.Message.getFieldWithDefault(t, 3, 0),
					method: o.Message.getFieldWithDefault(t, 4, 0),
					headerslistMap: (r = t.getHeaderslistMap()) ? r.toObject(e, void 0) : [],
					payloadencoding: o.Message.getFieldWithDefault(t, 6, ""),
					payloadtype: o.Message.getFieldWithDefault(t, 7, ""),
					payload: t.getPayload_asB64()
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.PushFrame.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.PushFrame;
				return proto.PushFrame.deserializeBinaryFromReader(r, t)
			}, proto.PushFrame.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readUint64();
							e.setSeqid(r);
							break;
						case 2:
							r = t.readUint64();
							e.setLogid(r);
							break;
						case 3:
							r = t.readUint64();
							e.setService(r);
							break;
						case 4:
							r = t.readUint64();
							e.setMethod(r);
							break;
						case 5:
							r = e.getHeaderslistMap();
							t.readMessage(r, function(e, t) {
								o.Map.deserializeBinary(e, t, o.BinaryReader.prototype.readString, o
									.BinaryReader.prototype.readString, null, "", "")
							});
							break;
						case 6:
							r = t.readString();
							e.setPayloadencoding(r);
							break;
						case 7:
							r = t.readString();
							e.setPayloadtype(r);
							break;
						case 8:
							r = t.readBytes();
							e.setPayload(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.PushFrame.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.PushFrame.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.PushFrame.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getSeqid()) && t.writeUint64(1, r), 0 !== (r = e.getLogid()) && t.writeUint64(
						2, r), 0 !== (r = e.getService()) && t.writeUint64(3, r), 0 !== (r = e
				.getMethod()) && t.writeUint64(4, r), (r = e.getHeaderslistMap(!0)) && r.getLength() > 0 &&
					r.serializeBinary(5, t, o.BinaryWriter.prototype.writeString, o.BinaryWriter.prototype
						.writeString), (r = e.getPayloadencoding()).length > 0 && t.writeString(6, r), (r =
						e.getPayloadtype()).length > 0 && t.writeString(7, r), (r = e.getPayload_asU8())
					.length > 0 && t.writeBytes(8, r)
			}, proto.PushFrame.prototype.getSeqid = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.PushFrame.prototype.setSeqid = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.PushFrame.prototype.getLogid = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.PushFrame.prototype.setLogid = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.PushFrame.prototype.getService = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.PushFrame.prototype.setService = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.PushFrame.prototype.getMethod = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.PushFrame.prototype.setMethod = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.PushFrame.prototype.getHeaderslistMap = function(e) {
				return o.Message.getMapField(this, 5, e, null)
			}, proto.PushFrame.prototype.clearHeaderslistMap = function() {
				return this.getHeaderslistMap().clear(), this
			}, proto.PushFrame.prototype.getPayloadencoding = function() {
				return o.Message.getFieldWithDefault(this, 6, "")
			}, proto.PushFrame.prototype.setPayloadencoding = function(e) {
				return o.Message.setProto3StringField(this, 6, e)
			}, proto.PushFrame.prototype.getPayloadtype = function() {
				return o.Message.getFieldWithDefault(this, 7, "")
			}, proto.PushFrame.prototype.setPayloadtype = function(e) {
				return o.Message.setProto3StringField(this, 7, e)
			}, proto.PushFrame.prototype.getPayload = function() {
				return o.Message.getFieldWithDefault(this, 8, "")
			}, proto.PushFrame.prototype.getPayload_asB64 = function() {
				return o.Message.bytesAsB64(this.getPayload())
			}, proto.PushFrame.prototype.getPayload_asU8 = function() {
				return o.Message.bytesAsU8(this.getPayload())
			}, proto.PushFrame.prototype.setPayload = function(e) {
				return o.Message.setProto3BytesField(this, 8, e)
			}, proto.Response.repeatedFields_ = [1], o.Message.GENERATE_TO_OBJECT && (proto.Response
				.prototype.toObject = function(e) {
					return proto.Response.toObject(e, this)
				}, proto.Response.toObject = function(e, t) {
					var r, s = {
						messagesList: o.Message.toObjectList(t.getMessagesList(), proto.Message
							.toObject, e),
						cursor: o.Message.getFieldWithDefault(t, 2, ""),
						fetchinterval: o.Message.getFieldWithDefault(t, 3, 0),
						now: o.Message.getFieldWithDefault(t, 4, 0),
						internalext: o.Message.getFieldWithDefault(t, 5, ""),
						fetchtype: o.Message.getFieldWithDefault(t, 6, 0),
						routeparamsMap: (r = t.getRouteparamsMap()) ? r.toObject(e, void 0) : [],
						heartbeatduration: o.Message.getFieldWithDefault(t, 8, 0),
						needack: o.Message.getBooleanFieldWithDefault(t, 9, !1),
						pushserver: o.Message.getFieldWithDefault(t, 10, ""),
						livecursor: o.Message.getFieldWithDefault(t, 11, ""),
						historynomore: o.Message.getBooleanFieldWithDefault(t, 12, !1)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.Response.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.Response;
				return proto.Response.deserializeBinaryFromReader(r, t)
			}, proto.Response.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Message;
							t.readMessage(r, proto.Message.deserializeBinaryFromReader), e.addMessages(r);
							break;
						case 2:
							r = t.readString();
							e.setCursor(r);
							break;
						case 3:
							r = t.readInt64();
							e.setFetchinterval(r);
							break;
						case 4:
							r = t.readInt64();
							e.setNow(r);
							break;
						case 5:
							r = t.readString();
							e.setInternalext(r);
							break;
						case 6:
							r = t.readInt32();
							e.setFetchtype(r);
							break;
						case 7:
							r = e.getRouteparamsMap();
							t.readMessage(r, function(e, t) {
								o.Map.deserializeBinary(e, t, o.BinaryReader.prototype.readString, o
									.BinaryReader.prototype.readString, null, "", "")
							});
							break;
						case 8:
							r = t.readInt64();
							e.setHeartbeatduration(r);
							break;
						case 9:
							r = t.readBool();
							e.setNeedack(r);
							break;
						case 10:
							r = t.readString();
							e.setPushserver(r);
							break;
						case 11:
							r = t.readString();
							e.setLivecursor(r);
							break;
						case 12:
							r = t.readBool();
							e.setHistorynomore(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.Response.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.Response.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.Response.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getMessagesList()).length > 0 && t.writeRepeatedMessage(1, r, proto.Message
						.serializeBinaryToWriter), (r = e.getCursor()).length > 0 && t.writeString(2, r),
					0 !== (r = e.getFetchinterval()) && t.writeInt64(3, r), 0 !== (r = e.getNow()) && t
					.writeInt64(4, r), (r = e.getInternalext()).length > 0 && t.writeString(5, r), 0 !== (
						r = e.getFetchtype()) && t.writeInt32(6, r), (r = e.getRouteparamsMap(!0)) && r
					.getLength() > 0 && r.serializeBinary(7, t, o.BinaryWriter.prototype.writeString, o
						.BinaryWriter.prototype.writeString), 0 !== (r = e.getHeartbeatduration()) && t
					.writeInt64(8, r), (r = e.getNeedack()) && t.writeBool(9, r), (r = e.getPushserver())
					.length > 0 && t.writeString(10, r), (r = e.getLivecursor()).length > 0 && t
					.writeString(11, r), (r = e.getHistorynomore()) && t.writeBool(12, r)
			}, proto.Response.prototype.getMessagesList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.Message, 1)
			}, proto.Response.prototype.setMessagesList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 1, e)
			}, proto.Response.prototype.addMessages = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 1, e, proto.Message, t)
			}, proto.Response.prototype.clearMessagesList = function() {
				return this.setMessagesList([])
			}, proto.Response.prototype.getCursor = function() {
				return o.Message.getFieldWithDefault(this, 2, "")
			}, proto.Response.prototype.setCursor = function(e) {
				return o.Message.setProto3StringField(this, 2, e)
			}, proto.Response.prototype.getFetchinterval = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.Response.prototype.setFetchinterval = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.Response.prototype.getNow = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.Response.prototype.setNow = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.Response.prototype.getInternalext = function() {
				return o.Message.getFieldWithDefault(this, 5, "")
			}, proto.Response.prototype.setInternalext = function(e) {
				return o.Message.setProto3StringField(this, 5, e)
			}, proto.Response.prototype.getFetchtype = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.Response.prototype.setFetchtype = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.Response.prototype.getRouteparamsMap = function(e) {
				return o.Message.getMapField(this, 7, e, null)
			}, proto.Response.prototype.clearRouteparamsMap = function() {
				return this.getRouteparamsMap().clear(), this
			}, proto.Response.prototype.getHeartbeatduration = function() {
				return o.Message.getFieldWithDefault(this, 8, 0)
			}, proto.Response.prototype.setHeartbeatduration = function(e) {
				return o.Message.setProto3IntField(this, 8, e)
			}, proto.Response.prototype.getNeedack = function() {
				return o.Message.getBooleanFieldWithDefault(this, 9, !1)
			}, proto.Response.prototype.setNeedack = function(e) {
				return o.Message.setProto3BooleanField(this, 9, e)
			}, proto.Response.prototype.getPushserver = function() {
				return o.Message.getFieldWithDefault(this, 10, "")
			}, proto.Response.prototype.setPushserver = function(e) {
				return o.Message.setProto3StringField(this, 10, e)
			}, proto.Response.prototype.getLivecursor = function() {
				return o.Message.getFieldWithDefault(this, 11, "")
			}, proto.Response.prototype.setLivecursor = function(e) {
				return o.Message.setProto3StringField(this, 11, e)
			}, proto.Response.prototype.getHistorynomore = function() {
				return o.Message.getBooleanFieldWithDefault(this, 12, !1)
			}, proto.Response.prototype.setHistorynomore = function(e) {
				return o.Message.setProto3BooleanField(this, 12, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.Message.prototype.toObject = function(e) {
				return proto.Message.toObject(e, this)
			}, proto.Message.toObject = function(e, t) {
				var r = {
					method: o.Message.getFieldWithDefault(t, 1, ""),
					payload: t.getPayload_asB64(),
					msgid: o.Message.getFieldWithDefault(t, 3, 0),
					msgtype: o.Message.getFieldWithDefault(t, 4, 0),
					offset: o.Message.getFieldWithDefault(t, 5, 0)
				};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.Message.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.Message;
				return proto.Message.deserializeBinaryFromReader(r, t)
			}, proto.Message.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readString();
							e.setMethod(r);
							break;
						case 2:
							r = t.readBytes();
							e.setPayload(r);
							break;
						case 3:
							r = t.readInt64();
							e.setMsgid(r);
							break;
						case 4:
							r = t.readInt32();
							e.setMsgtype(r);
							break;
						case 5:
							r = t.readInt64();
							e.setOffset(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.Message.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.Message.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.Message.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getMethod()).length > 0 && t.writeString(1, r), (r = e.getPayload_asU8()).length >
					0 && t.writeBytes(2, r), 0 !== (r = e.getMsgid()) && t.writeInt64(3, r), 0 !== (r = e
						.getMsgtype()) && t.writeInt32(4, r), 0 !== (r = e.getOffset()) && t.writeInt64(5,
						r)
			}, proto.Message.prototype.getMethod = function() {
				return o.Message.getFieldWithDefault(this, 1, "")
			}, proto.Message.prototype.setMethod = function(e) {
				return o.Message.setProto3StringField(this, 1, e)
			}, proto.Message.prototype.getPayload = function() {
				return o.Message.getFieldWithDefault(this, 2, "")
			}, proto.Message.prototype.getPayload_asB64 = function() {
				return o.Message.bytesAsB64(this.getPayload())
			}, proto.Message.prototype.getPayload_asU8 = function() {
				return o.Message.bytesAsU8(this.getPayload())
			}, proto.Message.prototype.setPayload = function(e) {
				return o.Message.setProto3BytesField(this, 2, e)
			}, proto.Message.prototype.getMsgid = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.Message.prototype.setMsgid = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.Message.prototype.getMsgtype = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.Message.prototype.setMsgtype = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.Message.prototype.getOffset = function() {
				return o.Message.getFieldWithDefault(this, 5, 0)
			}, proto.Message.prototype.setOffset = function(e) {
				return o.Message.setProto3IntField(this, 5, e)
			}, proto.RoomUserSeqMessage.repeatedFields_ = [2, 5], o.Message.GENERATE_TO_OBJECT && (proto
				.RoomUserSeqMessage.prototype.toObject = function(e) {
					return proto.RoomUserSeqMessage.toObject(e, this)
				}, proto.RoomUserSeqMessage.toObject = function(e, t) {
					var r, s = {
						common: (r = t.getCommon()) && proto.Common.toObject(e, r),
						ranksList: o.Message.toObjectList(t.getRanksList(), proto.RoomUserSeqMessage
							.Contributor.toObject, e),
						total: o.Message.getFieldWithDefault(t, 3, 0),
						popstr: o.Message.getFieldWithDefault(t, 4, ""),
						seatsList: o.Message.toObjectList(t.getSeatsList(), proto.RoomUserSeqMessage
							.Contributor.toObject, e),
						popularity: o.Message.getFieldWithDefault(t, 6, 0),
						totaluser: o.Message.getFieldWithDefault(t, 7, 0),
						totaluserstr: o.Message.getFieldWithDefault(t, 8, ""),
						totalstr: o.Message.getFieldWithDefault(t, 9, ""),
						onlineuserforanchor: o.Message.getFieldWithDefault(t, 10, ""),
						totalpvforanchor: o.Message.getFieldWithDefault(t, 11, "")
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.RoomUserSeqMessage.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.RoomUserSeqMessage;
				return proto.RoomUserSeqMessage.deserializeBinaryFromReader(r, t)
			}, proto.RoomUserSeqMessage.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Common;
							t.readMessage(r, proto.Common.deserializeBinaryFromReader), e.setCommon(r);
							break;
						case 2:
							r = new proto.RoomUserSeqMessage.Contributor;
							t.readMessage(r, proto.RoomUserSeqMessage.Contributor
								.deserializeBinaryFromReader), e.addRanks(r);
							break;
						case 3:
							r = t.readInt64();
							e.setTotal(r);
							break;
						case 4:
							r = t.readString();
							e.setPopstr(r);
							break;
						case 5:
							r = new proto.RoomUserSeqMessage.Contributor;
							t.readMessage(r, proto.RoomUserSeqMessage.Contributor
								.deserializeBinaryFromReader), e.addSeats(r);
							break;
						case 6:
							r = t.readInt64();
							e.setPopularity(r);
							break;
						case 7:
							r = t.readInt64();
							e.setTotaluser(r);
							break;
						case 8:
							r = t.readString();
							e.setTotaluserstr(r);
							break;
						case 9:
							r = t.readString();
							e.setTotalstr(r);
							break;
						case 10:
							r = t.readString();
							e.setOnlineuserforanchor(r);
							break;
						case 11:
							r = t.readString();
							e.setTotalpvforanchor(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.RoomUserSeqMessage.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.RoomUserSeqMessage.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.RoomUserSeqMessage.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getCommon()) && t.writeMessage(1, r, proto.Common.serializeBinaryToWriter), (
						r = e.getRanksList()).length > 0 && t.writeRepeatedMessage(2, r, proto
						.RoomUserSeqMessage.Contributor.serializeBinaryToWriter), 0 !== (r = e
				.getTotal()) && t.writeInt64(3, r), (r = e.getPopstr()).length > 0 && t.writeString(4, r), (
						r = e.getSeatsList()).length > 0 && t.writeRepeatedMessage(5, r, proto
						.RoomUserSeqMessage.Contributor.serializeBinaryToWriter), 0 !== (r = e
						.getPopularity()) && t.writeInt64(6, r), 0 !== (r = e.getTotaluser()) && t
					.writeInt64(7, r), (r = e.getTotaluserstr()).length > 0 && t.writeString(8, r), (r = e
						.getTotalstr()).length > 0 && t.writeString(9, r), (r = e.getOnlineuserforanchor())
					.length > 0 && t.writeString(10, r), (r = e.getTotalpvforanchor()).length > 0 && t
					.writeString(11, r)
			}, o.Message.GENERATE_TO_OBJECT && (proto.RoomUserSeqMessage.Contributor.prototype.toObject =
				function(e) {
					return proto.RoomUserSeqMessage.Contributor.toObject(e, this)
				}, proto.RoomUserSeqMessage.Contributor.toObject = function(e, t) {
					var r, s = {
						score: o.Message.getFieldWithDefault(t, 1, 0),
						user: (r = t.getUser()) && proto.User.toObject(e, r),
						rank: o.Message.getFieldWithDefault(t, 3, 0),
						delta: o.Message.getFieldWithDefault(t, 4, 0),
						ishidden: o.Message.getBooleanFieldWithDefault(t, 5, !1),
						scoredescription: o.Message.getFieldWithDefault(t, 6, ""),
						exactlyscore: o.Message.getFieldWithDefault(t, 7, "")
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.RoomUserSeqMessage.Contributor.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.RoomUserSeqMessage.Contributor;
				return proto.RoomUserSeqMessage.Contributor.deserializeBinaryFromReader(r, t)
			}, proto.RoomUserSeqMessage.Contributor.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt64();
							e.setScore(r);
							break;
						case 2:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						case 3:
							r = t.readInt64();
							e.setRank(r);
							break;
						case 4:
							r = t.readInt64();
							e.setDelta(r);
							break;
						case 5:
							r = t.readBool();
							e.setIshidden(r);
							break;
						case 6:
							r = t.readString();
							e.setScoredescription(r);
							break;
						case 7:
							r = t.readString();
							e.setExactlyscore(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.RoomUserSeqMessage.Contributor.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.RoomUserSeqMessage.Contributor.serializeBinaryToWriter(this, e), e
					.getResultBuffer()
			}, proto.RoomUserSeqMessage.Contributor.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getScore()) && t.writeInt64(1, r), null != (r = e.getUser()) && t.writeMessage(
						2, r, proto.User.serializeBinaryToWriter), 0 !== (r = e.getRank()) && t.writeInt64(
						3, r), 0 !== (r = e.getDelta()) && t.writeInt64(4, r), (r = e.getIshidden()) && t
					.writeBool(5, r), (r = e.getScoredescription()).length > 0 && t.writeString(6, r), (r =
						e.getExactlyscore()).length > 0 && t.writeString(7, r)
			}, proto.RoomUserSeqMessage.Contributor.prototype.getScore = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.RoomUserSeqMessage.Contributor.prototype.setScore = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.RoomUserSeqMessage.Contributor.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 2)
			}, proto.RoomUserSeqMessage.Contributor.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.RoomUserSeqMessage.Contributor.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.RoomUserSeqMessage.Contributor.prototype.hasUser = function() {
				return null != o.Message.getField(this, 2)
			}, proto.RoomUserSeqMessage.Contributor.prototype.getRank = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.RoomUserSeqMessage.Contributor.prototype.setRank = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.RoomUserSeqMessage.Contributor.prototype.getDelta = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.RoomUserSeqMessage.Contributor.prototype.setDelta = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.RoomUserSeqMessage.Contributor.prototype.getIshidden = function() {
				return o.Message.getBooleanFieldWithDefault(this, 5, !1)
			}, proto.RoomUserSeqMessage.Contributor.prototype.setIshidden = function(e) {
				return o.Message.setProto3BooleanField(this, 5, e)
			}, proto.RoomUserSeqMessage.Contributor.prototype.getScoredescription = function() {
				return o.Message.getFieldWithDefault(this, 6, "")
			}, proto.RoomUserSeqMessage.Contributor.prototype.setScoredescription = function(e) {
				return o.Message.setProto3StringField(this, 6, e)
			}, proto.RoomUserSeqMessage.Contributor.prototype.getExactlyscore = function() {
				return o.Message.getFieldWithDefault(this, 7, "")
			}, proto.RoomUserSeqMessage.Contributor.prototype.setExactlyscore = function(e) {
				return o.Message.setProto3StringField(this, 7, e)
			}, proto.RoomUserSeqMessage.prototype.getCommon = function() {
				return o.Message.getWrapperField(this, proto.Common, 1)
			}, proto.RoomUserSeqMessage.prototype.setCommon = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.RoomUserSeqMessage.prototype.clearCommon = function() {
				return this.setCommon(void 0)
			}, proto.RoomUserSeqMessage.prototype.hasCommon = function() {
				return null != o.Message.getField(this, 1)
			}, proto.RoomUserSeqMessage.prototype.getRanksList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.RoomUserSeqMessage.Contributor, 2)
			}, proto.RoomUserSeqMessage.prototype.setRanksList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 2, e)
			}, proto.RoomUserSeqMessage.prototype.addRanks = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 2, e, proto.RoomUserSeqMessage.Contributor,
					t)
			}, proto.RoomUserSeqMessage.prototype.clearRanksList = function() {
				return this.setRanksList([])
			}, proto.RoomUserSeqMessage.prototype.getTotal = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.RoomUserSeqMessage.prototype.setTotal = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.RoomUserSeqMessage.prototype.getPopstr = function() {
				return o.Message.getFieldWithDefault(this, 4, "")
			}, proto.RoomUserSeqMessage.prototype.setPopstr = function(e) {
				return o.Message.setProto3StringField(this, 4, e)
			}, proto.RoomUserSeqMessage.prototype.getSeatsList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.RoomUserSeqMessage.Contributor, 5)
			}, proto.RoomUserSeqMessage.prototype.setSeatsList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 5, e)
			}, proto.RoomUserSeqMessage.prototype.addSeats = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 5, e, proto.RoomUserSeqMessage.Contributor,
					t)
			}, proto.RoomUserSeqMessage.prototype.clearSeatsList = function() {
				return this.setSeatsList([])
			}, proto.RoomUserSeqMessage.prototype.getPopularity = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.RoomUserSeqMessage.prototype.setPopularity = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.RoomUserSeqMessage.prototype.getTotaluser = function() {
				return o.Message.getFieldWithDefault(this, 7, 0)
			}, proto.RoomUserSeqMessage.prototype.setTotaluser = function(e) {
				return o.Message.setProto3IntField(this, 7, e)
			}, proto.RoomUserSeqMessage.prototype.getTotaluserstr = function() {
				return o.Message.getFieldWithDefault(this, 8, "")
			}, proto.RoomUserSeqMessage.prototype.setTotaluserstr = function(e) {
				return o.Message.setProto3StringField(this, 8, e)
			}, proto.RoomUserSeqMessage.prototype.getTotalstr = function() {
				return o.Message.getFieldWithDefault(this, 9, "")
			}, proto.RoomUserSeqMessage.prototype.setTotalstr = function(e) {
				return o.Message.setProto3StringField(this, 9, e)
			}, proto.RoomUserSeqMessage.prototype.getOnlineuserforanchor = function() {
				return o.Message.getFieldWithDefault(this, 10, "")
			}, proto.RoomUserSeqMessage.prototype.setOnlineuserforanchor = function(e) {
				return o.Message.setProto3StringField(this, 10, e)
			}, proto.RoomUserSeqMessage.prototype.getTotalpvforanchor = function() {
				return o.Message.getFieldWithDefault(this, 11, "")
			}, proto.RoomUserSeqMessage.prototype.setTotalpvforanchor = function(e) {
				return o.Message.setProto3StringField(this, 11, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.GiftMessage.prototype.toObject = function(e) {
				return proto.GiftMessage.toObject(e, this)
			}, proto.GiftMessage.toObject = function(e, t) {
				var r, s = {
					common: (r = t.getCommon()) && proto.Common.toObject(e, r),
					giftid: o.Message.getFieldWithDefault(t, 2, 0),
					fanticketcount: o.Message.getFieldWithDefault(t, 3, 0),
					groupcount: o.Message.getFieldWithDefault(t, 4, 0),
					repeatcount: o.Message.getFieldWithDefault(t, 5, 0),
					combocount: o.Message.getFieldWithDefault(t, 6, 0),
					user: (r = t.getUser()) && proto.User.toObject(e, r),
					touser: (r = t.getTouser()) && proto.User.toObject(e, r),
					repeatend: o.Message.getFieldWithDefault(t, 9, 0),
					texteffect: (r = t.getTexteffect()) && proto.GiftMessage.TextEffect.toObject(e,
						r),
					groupid: o.Message.getFieldWithDefault(t, 11, 0),
					incometaskgifts: o.Message.getFieldWithDefault(t, 12, 0),
					roomfanticketcount: o.Message.getFieldWithDefault(t, 13, 0),
					priority: (r = t.getPriority()) && proto.GiftIMPriority.toObject(e, r),
					gift: (r = t.getGift()) && proto.GiftStruct.toObject(e, r),
					logid: o.Message.getFieldWithDefault(t, 16, ""),
					sendtype: o.Message.getFieldWithDefault(t, 17, 0),
					publicareacommon: (r = t.getPublicareacommon()) && proto.PublicAreaCommon
						.toObject(e, r),
					traydisplaytext: (r = t.getTraydisplaytext()) && proto.Text.toObject(e, r),
					banneddisplayeffects: o.Message.getFieldWithDefault(t, 20, 0),
					trayinfo: (r = t.getTrayinfo()) && proto.GiftTrayInfo.toObject(e, r),
					asseteffectmixinfo: (r = t.getAsseteffectmixinfo()) && proto.AssetEffectMixInfo
						.toObject(e, r)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.GiftMessage.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftMessage;
				return proto.GiftMessage.deserializeBinaryFromReader(r, t)
			}, proto.GiftMessage.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Common;
							t.readMessage(r, proto.Common.deserializeBinaryFromReader), e.setCommon(r);
							break;
						case 2:
							r = t.readInt64();
							e.setGiftid(r);
							break;
						case 3:
							r = t.readInt64();
							e.setFanticketcount(r);
							break;
						case 4:
							r = t.readInt64();
							e.setGroupcount(r);
							break;
						case 5:
							r = t.readInt64();
							e.setRepeatcount(r);
							break;
						case 6:
							r = t.readInt64();
							e.setCombocount(r);
							break;
						case 7:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						case 8:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setTouser(r);
							break;
						case 9:
							r = t.readInt32();
							e.setRepeatend(r);
							break;
						case 10:
							r = new proto.GiftMessage.TextEffect;
							t.readMessage(r, proto.GiftMessage.TextEffect.deserializeBinaryFromReader), e
								.setTexteffect(r);
							break;
						case 11:
							r = t.readInt64();
							e.setGroupid(r);
							break;
						case 12:
							r = t.readInt64();
							e.setIncometaskgifts(r);
							break;
						case 13:
							r = t.readInt64();
							e.setRoomfanticketcount(r);
							break;
						case 14:
							r = new proto.GiftIMPriority;
							t.readMessage(r, proto.GiftIMPriority.deserializeBinaryFromReader), e
								.setPriority(r);
							break;
						case 15:
							r = new proto.GiftStruct;
							t.readMessage(r, proto.GiftStruct.deserializeBinaryFromReader), e.setGift(r);
							break;
						case 16:
							r = t.readString();
							e.setLogid(r);
							break;
						case 17:
							r = t.readInt64();
							e.setSendtype(r);
							break;
						case 18:
							r = new proto.PublicAreaCommon;
							t.readMessage(r, proto.PublicAreaCommon.deserializeBinaryFromReader), e
								.setPublicareacommon(r);
							break;
						case 19:
							r = new proto.Text;
							t.readMessage(r, proto.Text.deserializeBinaryFromReader), e.setTraydisplaytext(
								r);
							break;
						case 20:
							r = t.readInt64();
							e.setBanneddisplayeffects(r);
							break;
						case 21:
							r = new proto.GiftTrayInfo;
							t.readMessage(r, proto.GiftTrayInfo.deserializeBinaryFromReader), e.setTrayinfo(
								r);
							break;
						case 24:
							r = new proto.AssetEffectMixInfo;
							t.readMessage(r, proto.AssetEffectMixInfo.deserializeBinaryFromReader), e
								.setAsseteffectmixinfo(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.GiftMessage.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftMessage.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftMessage.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getCommon()) && t.writeMessage(1, r, proto.Common.serializeBinaryToWriter),
					0 !== (r = e.getGiftid()) && t.writeInt64(2, r), 0 !== (r = e.getFanticketcount()) && t
					.writeInt64(3, r), 0 !== (r = e.getGroupcount()) && t.writeInt64(4, r), 0 !== (r = e
						.getRepeatcount()) && t.writeInt64(5, r), 0 !== (r = e.getCombocount()) && t
					.writeInt64(6, r), null != (r = e.getUser()) && t.writeMessage(7, r, proto.User
						.serializeBinaryToWriter), null != (r = e.getTouser()) && t.writeMessage(8, r, proto
						.User.serializeBinaryToWriter), 0 !== (r = e.getRepeatend()) && t.writeInt32(9, r),
					null != (r = e.getTexteffect()) && t.writeMessage(10, r, proto.GiftMessage.TextEffect
						.serializeBinaryToWriter), 0 !== (r = e.getGroupid()) && t.writeInt64(11, r), 0 !==
					(r = e.getIncometaskgifts()) && t.writeInt64(12, r), 0 !== (r = e
					.getRoomfanticketcount()) && t.writeInt64(13, r), null != (r = e.getPriority()) && t
					.writeMessage(14, r, proto.GiftIMPriority.serializeBinaryToWriter), null != (r = e
						.getGift()) && t.writeMessage(15, r, proto.GiftStruct.serializeBinaryToWriter), (r =
						e.getLogid()).length > 0 && t.writeString(16, r), 0 !== (r = e.getSendtype()) && t
					.writeInt64(17, r), null != (r = e.getPublicareacommon()) && t.writeMessage(18, r, proto
						.PublicAreaCommon.serializeBinaryToWriter), null != (r = e.getTraydisplaytext()) &&
					t.writeMessage(19, r, proto.Text.serializeBinaryToWriter), 0 !== (r = e
						.getBanneddisplayeffects()) && t.writeInt64(20, r), null != (r = e.getTrayinfo()) &&
					t.writeMessage(21, r, proto.GiftTrayInfo.serializeBinaryToWriter), null != (r = e
						.getAsseteffectmixinfo()) && t.writeMessage(24, r, proto.AssetEffectMixInfo
						.serializeBinaryToWriter)
			}, o.Message.GENERATE_TO_OBJECT && (proto.GiftMessage.TextEffect.prototype.toObject = function(
				e) {
				return proto.GiftMessage.TextEffect.toObject(e, this)
			}, proto.GiftMessage.TextEffect.toObject = function(e, t) {
				var r, o = {
					portrait: (r = t.getPortrait()) && proto.GiftMessage.TextEffect.Detail.toObject(
						e, r),
					landscape: (r = t.getLandscape()) && proto.GiftMessage.TextEffect.Detail
						.toObject(e, r)
				};
				return e && (o.$jspbMessageInstance = t), o
			}), proto.GiftMessage.TextEffect.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftMessage.TextEffect;
				return proto.GiftMessage.TextEffect.deserializeBinaryFromReader(r, t)
			}, proto.GiftMessage.TextEffect.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.GiftMessage.TextEffect.Detail;
							t.readMessage(r, proto.GiftMessage.TextEffect.Detail
								.deserializeBinaryFromReader), e.setPortrait(r);
							break;
						case 2:
							r = new proto.GiftMessage.TextEffect.Detail;
							t.readMessage(r, proto.GiftMessage.TextEffect.Detail
								.deserializeBinaryFromReader), e.setLandscape(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.GiftMessage.TextEffect.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftMessage.TextEffect.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftMessage.TextEffect.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getPortrait()) && t.writeMessage(1, r, proto.GiftMessage.TextEffect.Detail
					.serializeBinaryToWriter), null != (r = e.getLandscape()) && t.writeMessage(2, r,
					proto.GiftMessage.TextEffect.Detail.serializeBinaryToWriter)
			}, o.Message.GENERATE_TO_OBJECT && (proto.GiftMessage.TextEffect.Detail.prototype.toObject =
				function(e) {
					return proto.GiftMessage.TextEffect.Detail.toObject(e, this)
				}, proto.GiftMessage.TextEffect.Detail.toObject = function(e, t) {
					var r, s = {
						text: (r = t.getText()) && proto.Text.toObject(e, r),
						textfontsize: o.Message.getFieldWithDefault(t, 2, 0),
						background: (r = t.getBackground()) && proto.Image.toObject(e, r),
						start: o.Message.getFieldWithDefault(t, 4, 0),
						duration: o.Message.getFieldWithDefault(t, 5, 0),
						x: o.Message.getFieldWithDefault(t, 6, 0),
						y: o.Message.getFieldWithDefault(t, 7, 0),
						width: o.Message.getFieldWithDefault(t, 8, 0),
						height: o.Message.getFieldWithDefault(t, 9, 0),
						shadowdx: o.Message.getFieldWithDefault(t, 10, 0),
						shadowdy: o.Message.getFieldWithDefault(t, 11, 0),
						shadowradius: o.Message.getFieldWithDefault(t, 12, 0),
						shadowcolor: o.Message.getFieldWithDefault(t, 13, ""),
						strokecolor: o.Message.getFieldWithDefault(t, 14, ""),
						strokewidth: o.Message.getFieldWithDefault(t, 15, 0)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.GiftMessage.TextEffect.Detail.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftMessage.TextEffect.Detail;
				return proto.GiftMessage.TextEffect.Detail.deserializeBinaryFromReader(r, t)
			}, proto.GiftMessage.TextEffect.Detail.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Text;
							t.readMessage(r, proto.Text.deserializeBinaryFromReader), e.setText(r);
							break;
						case 2:
							r = t.readInt32();
							e.setTextfontsize(r);
							break;
						case 3:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setBackground(r);
							break;
						case 4:
							r = t.readInt32();
							e.setStart(r);
							break;
						case 5:
							r = t.readInt32();
							e.setDuration(r);
							break;
						case 6:
							r = t.readInt32();
							e.setX(r);
							break;
						case 7:
							r = t.readInt32();
							e.setY(r);
							break;
						case 8:
							r = t.readInt32();
							e.setWidth(r);
							break;
						case 9:
							r = t.readInt32();
							e.setHeight(r);
							break;
						case 10:
							r = t.readInt32();
							e.setShadowdx(r);
							break;
						case 11:
							r = t.readInt32();
							e.setShadowdy(r);
							break;
						case 12:
							r = t.readInt32();
							e.setShadowradius(r);
							break;
						case 13:
							r = t.readString();
							e.setShadowcolor(r);
							break;
						case 14:
							r = t.readString();
							e.setStrokecolor(r);
							break;
						case 15:
							r = t.readInt32();
							e.setStrokewidth(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.GiftMessage.TextEffect.Detail.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftMessage.TextEffect.Detail.serializeBinaryToWriter(this, e), e
					.getResultBuffer()
			}, proto.GiftMessage.TextEffect.Detail.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getText()) && t.writeMessage(1, r, proto.Text.serializeBinaryToWriter), 0 !==
					(r = e.getTextfontsize()) && t.writeInt32(2, r), null != (r = e.getBackground()) && t
					.writeMessage(3, r, proto.Image.serializeBinaryToWriter), 0 !== (r = e.getStart()) && t
					.writeInt32(4, r), 0 !== (r = e.getDuration()) && t.writeInt32(5, r), 0 !== (r = e
					.getX()) && t.writeInt32(6, r), 0 !== (r = e.getY()) && t.writeInt32(7, r), 0 !== (r = e
						.getWidth()) && t.writeInt32(8, r), 0 !== (r = e.getHeight()) && t.writeInt32(9, r),
					0 !== (r = e.getShadowdx()) && t.writeInt32(10, r), 0 !== (r = e.getShadowdy()) && t
					.writeInt32(11, r), 0 !== (r = e.getShadowradius()) && t.writeInt32(12, r), (r = e
						.getShadowcolor()).length > 0 && t.writeString(13, r), (r = e.getStrokecolor())
					.length > 0 && t.writeString(14, r), 0 !== (r = e.getStrokewidth()) && t.writeInt32(15,
						r)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getText = function() {
				return o.Message.getWrapperField(this, proto.Text, 1)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setText = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.clearText = function() {
				return this.setText(void 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.hasText = function() {
				return null != o.Message.getField(this, 1)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getTextfontsize = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setTextfontsize = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getBackground = function() {
				return o.Message.getWrapperField(this, proto.Image, 3)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setBackground = function(e) {
				return o.Message.setWrapperField(this, 3, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.clearBackground = function() {
				return this.setBackground(void 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.hasBackground = function() {
				return null != o.Message.getField(this, 3)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getStart = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setStart = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getDuration = function() {
				return o.Message.getFieldWithDefault(this, 5, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setDuration = function(e) {
				return o.Message.setProto3IntField(this, 5, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getX = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setX = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getY = function() {
				return o.Message.getFieldWithDefault(this, 7, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setY = function(e) {
				return o.Message.setProto3IntField(this, 7, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getWidth = function() {
				return o.Message.getFieldWithDefault(this, 8, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setWidth = function(e) {
				return o.Message.setProto3IntField(this, 8, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getHeight = function() {
				return o.Message.getFieldWithDefault(this, 9, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setHeight = function(e) {
				return o.Message.setProto3IntField(this, 9, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getShadowdx = function() {
				return o.Message.getFieldWithDefault(this, 10, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setShadowdx = function(e) {
				return o.Message.setProto3IntField(this, 10, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getShadowdy = function() {
				return o.Message.getFieldWithDefault(this, 11, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setShadowdy = function(e) {
				return o.Message.setProto3IntField(this, 11, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getShadowradius = function() {
				return o.Message.getFieldWithDefault(this, 12, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setShadowradius = function(e) {
				return o.Message.setProto3IntField(this, 12, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getShadowcolor = function() {
				return o.Message.getFieldWithDefault(this, 13, "")
			}, proto.GiftMessage.TextEffect.Detail.prototype.setShadowcolor = function(e) {
				return o.Message.setProto3StringField(this, 13, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getStrokecolor = function() {
				return o.Message.getFieldWithDefault(this, 14, "")
			}, proto.GiftMessage.TextEffect.Detail.prototype.setStrokecolor = function(e) {
				return o.Message.setProto3StringField(this, 14, e)
			}, proto.GiftMessage.TextEffect.Detail.prototype.getStrokewidth = function() {
				return o.Message.getFieldWithDefault(this, 15, 0)
			}, proto.GiftMessage.TextEffect.Detail.prototype.setStrokewidth = function(e) {
				return o.Message.setProto3IntField(this, 15, e)
			}, proto.GiftMessage.TextEffect.prototype.getPortrait = function() {
				return o.Message.getWrapperField(this, proto.GiftMessage.TextEffect.Detail, 1)
			}, proto.GiftMessage.TextEffect.prototype.setPortrait = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.GiftMessage.TextEffect.prototype.clearPortrait = function() {
				return this.setPortrait(void 0)
			}, proto.GiftMessage.TextEffect.prototype.hasPortrait = function() {
				return null != o.Message.getField(this, 1)
			}, proto.GiftMessage.TextEffect.prototype.getLandscape = function() {
				return o.Message.getWrapperField(this, proto.GiftMessage.TextEffect.Detail, 2)
			}, proto.GiftMessage.TextEffect.prototype.setLandscape = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.GiftMessage.TextEffect.prototype.clearLandscape = function() {
				return this.setLandscape(void 0)
			}, proto.GiftMessage.TextEffect.prototype.hasLandscape = function() {
				return null != o.Message.getField(this, 2)
			}, proto.GiftMessage.prototype.getCommon = function() {
				return o.Message.getWrapperField(this, proto.Common, 1)
			}, proto.GiftMessage.prototype.setCommon = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.GiftMessage.prototype.clearCommon = function() {
				return this.setCommon(void 0)
			}, proto.GiftMessage.prototype.hasCommon = function() {
				return null != o.Message.getField(this, 1)
			}, proto.GiftMessage.prototype.getGiftid = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.GiftMessage.prototype.setGiftid = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.GiftMessage.prototype.getFanticketcount = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.GiftMessage.prototype.setFanticketcount = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.GiftMessage.prototype.getGroupcount = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.GiftMessage.prototype.setGroupcount = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.GiftMessage.prototype.getRepeatcount = function() {
				return o.Message.getFieldWithDefault(this, 5, 0)
			}, proto.GiftMessage.prototype.setRepeatcount = function(e) {
				return o.Message.setProto3IntField(this, 5, e)
			}, proto.GiftMessage.prototype.getCombocount = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.GiftMessage.prototype.setCombocount = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.GiftMessage.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 7)
			}, proto.GiftMessage.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 7, e)
			}, proto.GiftMessage.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.GiftMessage.prototype.hasUser = function() {
				return null != o.Message.getField(this, 7)
			}, proto.GiftMessage.prototype.getTouser = function() {
				return o.Message.getWrapperField(this, proto.User, 8)
			}, proto.GiftMessage.prototype.setTouser = function(e) {
				return o.Message.setWrapperField(this, 8, e)
			}, proto.GiftMessage.prototype.clearTouser = function() {
				return this.setTouser(void 0)
			}, proto.GiftMessage.prototype.hasTouser = function() {
				return null != o.Message.getField(this, 8)
			}, proto.GiftMessage.prototype.getRepeatend = function() {
				return o.Message.getFieldWithDefault(this, 9, 0)
			}, proto.GiftMessage.prototype.setRepeatend = function(e) {
				return o.Message.setProto3IntField(this, 9, e)
			}, proto.GiftMessage.prototype.getTexteffect = function() {
				return o.Message.getWrapperField(this, proto.GiftMessage.TextEffect, 10)
			}, proto.GiftMessage.prototype.setTexteffect = function(e) {
				return o.Message.setWrapperField(this, 10, e)
			}, proto.GiftMessage.prototype.clearTexteffect = function() {
				return this.setTexteffect(void 0)
			}, proto.GiftMessage.prototype.hasTexteffect = function() {
				return null != o.Message.getField(this, 10)
			}, proto.GiftMessage.prototype.getGroupid = function() {
				return o.Message.getFieldWithDefault(this, 11, 0)
			}, proto.GiftMessage.prototype.setGroupid = function(e) {
				return o.Message.setProto3IntField(this, 11, e)
			}, proto.GiftMessage.prototype.getIncometaskgifts = function() {
				return o.Message.getFieldWithDefault(this, 12, 0)
			}, proto.GiftMessage.prototype.setIncometaskgifts = function(e) {
				return o.Message.setProto3IntField(this, 12, e)
			}, proto.GiftMessage.prototype.getRoomfanticketcount = function() {
				return o.Message.getFieldWithDefault(this, 13, 0)
			}, proto.GiftMessage.prototype.setRoomfanticketcount = function(e) {
				return o.Message.setProto3IntField(this, 13, e)
			}, proto.GiftMessage.prototype.getPriority = function() {
				return o.Message.getWrapperField(this, proto.GiftIMPriority, 14)
			}, proto.GiftMessage.prototype.setPriority = function(e) {
				return o.Message.setWrapperField(this, 14, e)
			}, proto.GiftMessage.prototype.clearPriority = function() {
				return this.setPriority(void 0)
			}, proto.GiftMessage.prototype.hasPriority = function() {
				return null != o.Message.getField(this, 14)
			}, proto.GiftMessage.prototype.getGift = function() {
				return o.Message.getWrapperField(this, proto.GiftStruct, 15)
			}, proto.GiftMessage.prototype.setGift = function(e) {
				return o.Message.setWrapperField(this, 15, e)
			}, proto.GiftMessage.prototype.clearGift = function() {
				return this.setGift(void 0)
			}, proto.GiftMessage.prototype.hasGift = function() {
				return null != o.Message.getField(this, 15)
			}, proto.GiftMessage.prototype.getLogid = function() {
				return o.Message.getFieldWithDefault(this, 16, "")
			}, proto.GiftMessage.prototype.setLogid = function(e) {
				return o.Message.setProto3StringField(this, 16, e)
			}, proto.GiftMessage.prototype.getSendtype = function() {
				return o.Message.getFieldWithDefault(this, 17, 0)
			}, proto.GiftMessage.prototype.setSendtype = function(e) {
				return o.Message.setProto3IntField(this, 17, e)
			}, proto.GiftMessage.prototype.getPublicareacommon = function() {
				return o.Message.getWrapperField(this, proto.PublicAreaCommon, 18)
			}, proto.GiftMessage.prototype.setPublicareacommon = function(e) {
				return o.Message.setWrapperField(this, 18, e)
			}, proto.GiftMessage.prototype.clearPublicareacommon = function() {
				return this.setPublicareacommon(void 0)
			}, proto.GiftMessage.prototype.hasPublicareacommon = function() {
				return null != o.Message.getField(this, 18)
			}, proto.GiftMessage.prototype.getTraydisplaytext = function() {
				return o.Message.getWrapperField(this, proto.Text, 19)
			}, proto.GiftMessage.prototype.setTraydisplaytext = function(e) {
				return o.Message.setWrapperField(this, 19, e)
			}, proto.GiftMessage.prototype.clearTraydisplaytext = function() {
				return this.setTraydisplaytext(void 0)
			}, proto.GiftMessage.prototype.hasTraydisplaytext = function() {
				return null != o.Message.getField(this, 19)
			}, proto.GiftMessage.prototype.getBanneddisplayeffects = function() {
				return o.Message.getFieldWithDefault(this, 20, 0)
			}, proto.GiftMessage.prototype.setBanneddisplayeffects = function(e) {
				return o.Message.setProto3IntField(this, 20, e)
			}, proto.GiftMessage.prototype.getTrayinfo = function() {
				return o.Message.getWrapperField(this, proto.GiftTrayInfo, 21)
			}, proto.GiftMessage.prototype.setTrayinfo = function(e) {
				return o.Message.setWrapperField(this, 21, e)
			}, proto.GiftMessage.prototype.clearTrayinfo = function() {
				return this.setTrayinfo(void 0)
			}, proto.GiftMessage.prototype.hasTrayinfo = function() {
				return null != o.Message.getField(this, 21)
			}, proto.GiftMessage.prototype.getAsseteffectmixinfo = function() {
				return o.Message.getWrapperField(this, proto.AssetEffectMixInfo, 24)
			}, proto.GiftMessage.prototype.setAsseteffectmixinfo = function(e) {
				return o.Message.setWrapperField(this, 24, e)
			}, proto.GiftMessage.prototype.clearAsseteffectmixinfo = function() {
				return this.setAsseteffectmixinfo(void 0)
			}, proto.GiftMessage.prototype.hasAsseteffectmixinfo = function() {
				return null != o.Message.getField(this, 24)
			}, o.Message.GENERATE_TO_OBJECT && (proto.LikeMessage.prototype.toObject = function(e) {
				return proto.LikeMessage.toObject(e, this)
			}, proto.LikeMessage.toObject = function(e, t) {
				var r, s = {
					common: (r = t.getCommon()) && proto.Common.toObject(e, r),
					count: o.Message.getFieldWithDefault(t, 2, 0),
					total: o.Message.getFieldWithDefault(t, 3, 0),
					color: o.Message.getFieldWithDefault(t, 4, 0),
					user: (r = t.getUser()) && proto.User.toObject(e, r),
					icon: o.Message.getFieldWithDefault(t, 6, "")
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.LikeMessage.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.LikeMessage;
				return proto.LikeMessage.deserializeBinaryFromReader(r, t)
			}, proto.LikeMessage.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Common;
							t.readMessage(r, proto.Common.deserializeBinaryFromReader), e.setCommon(r);
							break;
						case 2:
							r = t.readInt64();
							e.setCount(r);
							break;
						case 3:
							r = t.readInt64();
							e.setTotal(r);
							break;
						case 4:
							r = t.readInt64();
							e.setColor(r);
							break;
						case 5:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						case 6:
							r = t.readString();
							e.setIcon(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.LikeMessage.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.LikeMessage.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.LikeMessage.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getCommon()) && t.writeMessage(1, r, proto.Common.serializeBinaryToWriter),
					0 !== (r = e.getCount()) && t.writeInt64(2, r), 0 !== (r = e.getTotal()) && t
					.writeInt64(3, r), 0 !== (r = e.getColor()) && t.writeInt64(4, r), null != (r = e
						.getUser()) && t.writeMessage(5, r, proto.User.serializeBinaryToWriter), (r = e
						.getIcon()).length > 0 && t.writeString(6, r)
			}, proto.LikeMessage.prototype.getCommon = function() {
				return o.Message.getWrapperField(this, proto.Common, 1)
			}, proto.LikeMessage.prototype.setCommon = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.LikeMessage.prototype.clearCommon = function() {
				return this.setCommon(void 0)
			}, proto.LikeMessage.prototype.hasCommon = function() {
				return null != o.Message.getField(this, 1)
			}, proto.LikeMessage.prototype.getCount = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.LikeMessage.prototype.setCount = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.LikeMessage.prototype.getTotal = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.LikeMessage.prototype.setTotal = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.LikeMessage.prototype.getColor = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.LikeMessage.prototype.setColor = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.LikeMessage.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 5)
			}, proto.LikeMessage.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 5, e)
			}, proto.LikeMessage.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.LikeMessage.prototype.hasUser = function() {
				return null != o.Message.getField(this, 5)
			}, proto.LikeMessage.prototype.getIcon = function() {
				return o.Message.getFieldWithDefault(this, 6, "")
			}, proto.LikeMessage.prototype.setIcon = function(e) {
				return o.Message.setProto3StringField(this, 6, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.ChatMessage.prototype.toObject = function(e) {
				return proto.ChatMessage.toObject(e, this)
			}, proto.ChatMessage.toObject = function(e, t) {
				var r, s = {
					common: (r = t.getCommon()) && proto.Common.toObject(e, r),
					user: (r = t.getUser()) && proto.User.toObject(e, r),
					content: o.Message.getFieldWithDefault(t, 3, ""),
					visibletosender: o.Message.getBooleanFieldWithDefault(t, 4, !1),
					backgroundimage: (r = t.getBackgroundimage()) && proto.Image.toObject(e, r),
					fullscreentextcolor: o.Message.getFieldWithDefault(t, 6, ""),
					backgroundimagev2: (r = t.getBackgroundimagev2()) && proto.Image.toObject(e, r),
					publicareacommon: (r = t.getPublicareacommon()) && proto.PublicAreaCommon
						.toObject(e, r),
					giftimage: (r = t.getGiftimage()) && proto.Image.toObject(e, r)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.ChatMessage.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.ChatMessage;
				return proto.ChatMessage.deserializeBinaryFromReader(r, t)
			}, proto.ChatMessage.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Common;
							t.readMessage(r, proto.Common.deserializeBinaryFromReader), e.setCommon(r);
							break;
						case 2:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						case 3:
							r = t.readString();
							e.setContent(r);
							break;
						case 4:
							r = t.readBool();
							e.setVisibletosender(r);
							break;
						case 5:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setBackgroundimage(
								r);
							break;
						case 6:
							r = t.readString();
							e.setFullscreentextcolor(r);
							break;
						case 7:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e
								.setBackgroundimagev2(r);
							break;
						case 9:
							r = new proto.PublicAreaCommon;
							t.readMessage(r, proto.PublicAreaCommon.deserializeBinaryFromReader), e
								.setPublicareacommon(r);
							break;
						case 10:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setGiftimage(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.ChatMessage.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.ChatMessage.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.ChatMessage.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getCommon()) && t.writeMessage(1, r, proto.Common.serializeBinaryToWriter),
					null != (r = e.getUser()) && t.writeMessage(2, r, proto.User.serializeBinaryToWriter), (
						r = e.getContent()).length > 0 && t.writeString(3, r), (r = e
				.getVisibletosender()) && t.writeBool(4, r), null != (r = e.getBackgroundimage()) && t
					.writeMessage(5, r, proto.Image.serializeBinaryToWriter), (r = e
					.getFullscreentextcolor()).length > 0 && t.writeString(6, r), null != (r = e
						.getBackgroundimagev2()) && t.writeMessage(7, r, proto.Image
						.serializeBinaryToWriter), null != (r = e.getPublicareacommon()) && t.writeMessage(
						9, r, proto.PublicAreaCommon.serializeBinaryToWriter), null != (r = e
					.getGiftimage()) && t.writeMessage(10, r, proto.Image.serializeBinaryToWriter)
			}, proto.ChatMessage.prototype.getCommon = function() {
				return o.Message.getWrapperField(this, proto.Common, 1)
			}, proto.ChatMessage.prototype.setCommon = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.ChatMessage.prototype.clearCommon = function() {
				return this.setCommon(void 0)
			}, proto.ChatMessage.prototype.hasCommon = function() {
				return null != o.Message.getField(this, 1)
			}, proto.ChatMessage.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 2)
			}, proto.ChatMessage.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.ChatMessage.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.ChatMessage.prototype.hasUser = function() {
				return null != o.Message.getField(this, 2)
			}, proto.ChatMessage.prototype.getContent = function() {
				return o.Message.getFieldWithDefault(this, 3, "")
			}, proto.ChatMessage.prototype.setContent = function(e) {
				return o.Message.setProto3StringField(this, 3, e)
			}, proto.ChatMessage.prototype.getVisibletosender = function() {
				return o.Message.getBooleanFieldWithDefault(this, 4, !1)
			}, proto.ChatMessage.prototype.setVisibletosender = function(e) {
				return o.Message.setProto3BooleanField(this, 4, e)
			}, proto.ChatMessage.prototype.getBackgroundimage = function() {
				return o.Message.getWrapperField(this, proto.Image, 5)
			}, proto.ChatMessage.prototype.setBackgroundimage = function(e) {
				return o.Message.setWrapperField(this, 5, e)
			}, proto.ChatMessage.prototype.clearBackgroundimage = function() {
				return this.setBackgroundimage(void 0)
			}, proto.ChatMessage.prototype.hasBackgroundimage = function() {
				return null != o.Message.getField(this, 5)
			}, proto.ChatMessage.prototype.getFullscreentextcolor = function() {
				return o.Message.getFieldWithDefault(this, 6, "")
			}, proto.ChatMessage.prototype.setFullscreentextcolor = function(e) {
				return o.Message.setProto3StringField(this, 6, e)
			}, proto.ChatMessage.prototype.getBackgroundimagev2 = function() {
				return o.Message.getWrapperField(this, proto.Image, 7)
			}, proto.ChatMessage.prototype.setBackgroundimagev2 = function(e) {
				return o.Message.setWrapperField(this, 7, e)
			}, proto.ChatMessage.prototype.clearBackgroundimagev2 = function() {
				return this.setBackgroundimagev2(void 0)
			}, proto.ChatMessage.prototype.hasBackgroundimagev2 = function() {
				return null != o.Message.getField(this, 7)
			}, proto.ChatMessage.prototype.getPublicareacommon = function() {
				return o.Message.getWrapperField(this, proto.PublicAreaCommon, 9)
			}, proto.ChatMessage.prototype.setPublicareacommon = function(e) {
				return o.Message.setWrapperField(this, 9, e)
			}, proto.ChatMessage.prototype.clearPublicareacommon = function() {
				return this.setPublicareacommon(void 0)
			}, proto.ChatMessage.prototype.hasPublicareacommon = function() {
				return null != o.Message.getField(this, 9)
			}, proto.ChatMessage.prototype.getGiftimage = function() {
				return o.Message.getWrapperField(this, proto.Image, 10)
			}, proto.ChatMessage.prototype.setGiftimage = function(e) {
				return o.Message.setWrapperField(this, 10, e)
			}, proto.ChatMessage.prototype.clearGiftimage = function() {
				return this.setGiftimage(void 0)
			}, proto.ChatMessage.prototype.hasGiftimage = function() {
				return null != o.Message.getField(this, 10)
			}, o.Message.GENERATE_TO_OBJECT && (proto.SocialMessage.prototype.toObject = function(e) {
				return proto.SocialMessage.toObject(e, this)
			}, proto.SocialMessage.toObject = function(e, t) {
				var r, s = {
					common: (r = t.getCommon()) && proto.Common.toObject(e, r),
					user: (r = t.getUser()) && proto.User.toObject(e, r),
					sharetype: o.Message.getFieldWithDefault(t, 3, 0),
					action: o.Message.getFieldWithDefault(t, 4, 0),
					sharetarget: o.Message.getFieldWithDefault(t, 5, ""),
					followcount: o.Message.getFieldWithDefault(t, 6, 0),
					publicareacommon: (r = t.getPublicareacommon()) && proto.PublicAreaCommon
						.toObject(e, r)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.SocialMessage.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.SocialMessage;
				return proto.SocialMessage.deserializeBinaryFromReader(r, t)
			}, proto.SocialMessage.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Common;
							t.readMessage(r, proto.Common.deserializeBinaryFromReader), e.setCommon(r);
							break;
						case 2:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						case 3:
							r = t.readInt64();
							e.setSharetype(r);
							break;
						case 4:
							r = t.readInt64();
							e.setAction(r);
							break;
						case 5:
							r = t.readString();
							e.setSharetarget(r);
							break;
						case 6:
							r = t.readInt64();
							e.setFollowcount(r);
							break;
						case 7:
							r = new proto.PublicAreaCommon;
							t.readMessage(r, proto.PublicAreaCommon.deserializeBinaryFromReader), e
								.setPublicareacommon(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.SocialMessage.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.SocialMessage.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.SocialMessage.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getCommon()) && t.writeMessage(1, r, proto.Common.serializeBinaryToWriter),
					null != (r = e.getUser()) && t.writeMessage(2, r, proto.User.serializeBinaryToWriter),
					0 !== (r = e.getSharetype()) && t.writeInt64(3, r), 0 !== (r = e.getAction()) && t
					.writeInt64(4, r), (r = e.getSharetarget()).length > 0 && t.writeString(5, r), 0 !== (
						r = e.getFollowcount()) && t.writeInt64(6, r), null != (r = e
				.getPublicareacommon()) && t.writeMessage(7, r, proto.PublicAreaCommon
						.serializeBinaryToWriter)
			}, proto.SocialMessage.prototype.getCommon = function() {
				return o.Message.getWrapperField(this, proto.Common, 1)
			}, proto.SocialMessage.prototype.setCommon = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.SocialMessage.prototype.clearCommon = function() {
				return this.setCommon(void 0)
			}, proto.SocialMessage.prototype.hasCommon = function() {
				return null != o.Message.getField(this, 1)
			}, proto.SocialMessage.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 2)
			}, proto.SocialMessage.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.SocialMessage.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.SocialMessage.prototype.hasUser = function() {
				return null != o.Message.getField(this, 2)
			}, proto.SocialMessage.prototype.getSharetype = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.SocialMessage.prototype.setSharetype = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.SocialMessage.prototype.getAction = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.SocialMessage.prototype.setAction = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.SocialMessage.prototype.getSharetarget = function() {
				return o.Message.getFieldWithDefault(this, 5, "")
			}, proto.SocialMessage.prototype.setSharetarget = function(e) {
				return o.Message.setProto3StringField(this, 5, e)
			}, proto.SocialMessage.prototype.getFollowcount = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.SocialMessage.prototype.setFollowcount = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.SocialMessage.prototype.getPublicareacommon = function() {
				return o.Message.getWrapperField(this, proto.PublicAreaCommon, 7)
			}, proto.SocialMessage.prototype.setPublicareacommon = function(e) {
				return o.Message.setWrapperField(this, 7, e)
			}, proto.SocialMessage.prototype.clearPublicareacommon = function() {
				return this.setPublicareacommon(void 0)
			}, proto.SocialMessage.prototype.hasPublicareacommon = function() {
				return null != o.Message.getField(this, 7)
			}, o.Message.GENERATE_TO_OBJECT && (proto.MemberMessage.prototype.toObject = function(e) {
				return proto.MemberMessage.toObject(e, this)
			}, proto.MemberMessage.toObject = function(e, t) {
				var r, s = {
					common: (r = t.getCommon()) && proto.Common.toObject(e, r),
					user: (r = t.getUser()) && proto.User.toObject(e, r),
					membercount: o.Message.getFieldWithDefault(t, 3, 0),
					operator: (r = t.getOperator()) && proto.User.toObject(e, r),
					issettoadmin: o.Message.getBooleanFieldWithDefault(t, 5, !1),
					istopuser: o.Message.getBooleanFieldWithDefault(t, 6, !1),
					rankscore: o.Message.getFieldWithDefault(t, 7, 0),
					topuserno: o.Message.getFieldWithDefault(t, 8, 0),
					entertype: o.Message.getFieldWithDefault(t, 9, 0),
					action: o.Message.getFieldWithDefault(t, 10, 0),
					actiondescription: o.Message.getFieldWithDefault(t, 11, ""),
					userid: o.Message.getFieldWithDefault(t, 12, 0),
					effectconfig: (r = t.getEffectconfig()) && proto.MemberMessage.EffectConfig
						.toObject(e, r),
					popstr: o.Message.getFieldWithDefault(t, 14, ""),
					entereffectconfig: (r = t.getEntereffectconfig()) && proto.MemberMessage
						.EffectConfig.toObject(e, r),
					backgroundimage: (r = t.getBackgroundimage()) && proto.Image.toObject(e, r),
					backgroundimagev2: (r = t.getBackgroundimagev2()) && proto.Image.toObject(e, r),
					anchordisplaytext: (r = t.getAnchordisplaytext()) && proto.Text.toObject(e, r),
					publicareacommon: (r = t.getPublicareacommon()) && proto.PublicAreaCommon
						.toObject(e, r)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.MemberMessage.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.MemberMessage;
				return proto.MemberMessage.deserializeBinaryFromReader(r, t)
			}, proto.MemberMessage.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Common;
							t.readMessage(r, proto.Common.deserializeBinaryFromReader), e.setCommon(r);
							break;
						case 2:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						case 3:
							r = t.readInt64();
							e.setMembercount(r);
							break;
						case 4:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setOperator(r);
							break;
						case 5:
							r = t.readBool();
							e.setIssettoadmin(r);
							break;
						case 6:
							r = t.readBool();
							e.setIstopuser(r);
							break;
						case 7:
							r = t.readInt64();
							e.setRankscore(r);
							break;
						case 8:
							r = t.readInt64();
							e.setTopuserno(r);
							break;
						case 9:
							r = t.readInt64();
							e.setEntertype(r);
							break;
						case 10:
							r = t.readInt64();
							e.setAction(r);
							break;
						case 11:
							r = t.readString();
							e.setActiondescription(r);
							break;
						case 12:
							r = t.readInt64();
							e.setUserid(r);
							break;
						case 13:
							r = new proto.MemberMessage.EffectConfig;
							t.readMessage(r, proto.MemberMessage.EffectConfig.deserializeBinaryFromReader),
								e.setEffectconfig(r);
							break;
						case 14:
							r = t.readString();
							e.setPopstr(r);
							break;
						case 15:
							r = new proto.MemberMessage.EffectConfig;
							t.readMessage(r, proto.MemberMessage.EffectConfig.deserializeBinaryFromReader),
								e.setEntereffectconfig(r);
							break;
						case 16:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setBackgroundimage(
								r);
							break;
						case 17:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e
								.setBackgroundimagev2(r);
							break;
						case 18:
							r = new proto.Text;
							t.readMessage(r, proto.Text.deserializeBinaryFromReader), e
								.setAnchordisplaytext(r);
							break;
						case 19:
							r = new proto.PublicAreaCommon;
							t.readMessage(r, proto.PublicAreaCommon.deserializeBinaryFromReader), e
								.setPublicareacommon(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.MemberMessage.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.MemberMessage.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.MemberMessage.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getCommon()) && t.writeMessage(1, r, proto.Common.serializeBinaryToWriter),
					null != (r = e.getUser()) && t.writeMessage(2, r, proto.User.serializeBinaryToWriter),
					0 !== (r = e.getMembercount()) && t.writeInt64(3, r), null != (r = e.getOperator()) && t
					.writeMessage(4, r, proto.User.serializeBinaryToWriter), (r = e.getIssettoadmin()) && t
					.writeBool(5, r), (r = e.getIstopuser()) && t.writeBool(6, r), 0 !== (r = e
						.getRankscore()) && t.writeInt64(7, r), 0 !== (r = e.getTopuserno()) && t
					.writeInt64(8, r), 0 !== (r = e.getEntertype()) && t.writeInt64(9, r), 0 !== (r = e
						.getAction()) && t.writeInt64(10, r), (r = e.getActiondescription()).length > 0 && t
					.writeString(11, r), 0 !== (r = e.getUserid()) && t.writeInt64(12, r), null != (r = e
						.getEffectconfig()) && t.writeMessage(13, r, proto.MemberMessage.EffectConfig
						.serializeBinaryToWriter), (r = e.getPopstr()).length > 0 && t.writeString(14, r),
					null != (r = e.getEntereffectconfig()) && t.writeMessage(15, r, proto.MemberMessage
						.EffectConfig.serializeBinaryToWriter), null != (r = e.getBackgroundimage()) && t
					.writeMessage(16, r, proto.Image.serializeBinaryToWriter), null != (r = e
						.getBackgroundimagev2()) && t.writeMessage(17, r, proto.Image
						.serializeBinaryToWriter), null != (r = e.getAnchordisplaytext()) && t.writeMessage(
						18, r, proto.Text.serializeBinaryToWriter), null != (r = e.getPublicareacommon()) &&
					t.writeMessage(19, r, proto.PublicAreaCommon.serializeBinaryToWriter)
			}, proto.MemberMessage.EffectConfig.repeatedFields_ = [9, 13], o.Message.GENERATE_TO_OBJECT && (
				proto.MemberMessage.EffectConfig.prototype.toObject = function(e) {
					return proto.MemberMessage.EffectConfig.toObject(e, this)
				}, proto.MemberMessage.EffectConfig.toObject = function(e, t) {
					var r, s = {
						type: o.Message.getFieldWithDefault(t, 1, 0),
						icon: (r = t.getIcon()) && proto.Image.toObject(e, r),
						avatarpos: o.Message.getFieldWithDefault(t, 3, 0),
						text: (r = t.getText()) && proto.Text.toObject(e, r),
						texticon: (r = t.getTexticon()) && proto.Image.toObject(e, r),
						staytime: o.Message.getFieldWithDefault(t, 6, 0),
						animassetid: o.Message.getFieldWithDefault(t, 7, 0),
						badge: (r = t.getBadge()) && proto.Image.toObject(e, r),
						flexsettingarrayList: null == (r = o.Message.getRepeatedField(t, 9)) ? void 0 :
							r,
						texticonoverlay: (r = t.getTexticonoverlay()) && proto.Image.toObject(e, r),
						animatedbadge: (r = t.getAnimatedbadge()) && proto.Image.toObject(e, r),
						hassweeplight: o.Message.getBooleanFieldWithDefault(t, 12, !1),
						textflexsettingarrayList: null == (r = o.Message.getRepeatedField(t, 13)) ?
							void 0 : r,
						centeranimassetid: o.Message.getFieldWithDefault(t, 14, 0)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.MemberMessage.EffectConfig.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.MemberMessage.EffectConfig;
				return proto.MemberMessage.EffectConfig.deserializeBinaryFromReader(r, t)
			}, proto.MemberMessage.EffectConfig.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt64();
							e.setType(r);
							break;
						case 2:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setIcon(r);
							break;
						case 3:
							r = t.readInt64();
							e.setAvatarpos(r);
							break;
						case 4:
							r = new proto.Text;
							t.readMessage(r, proto.Text.deserializeBinaryFromReader), e.setText(r);
							break;
						case 5:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setTexticon(r);
							break;
						case 6:
							r = t.readInt32();
							e.setStaytime(r);
							break;
						case 7:
							r = t.readInt64();
							e.setAnimassetid(r);
							break;
						case 8:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setBadge(r);
							break;
						case 9:
							r = t.readPackedInt64();
							e.setFlexsettingarrayList(r);
							break;
						case 10:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setTexticonoverlay(
								r);
							break;
						case 11:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setAnimatedbadge(
							r);
							break;
						case 12:
							r = t.readBool();
							e.setHassweeplight(r);
							break;
						case 13:
							r = t.readPackedInt64();
							e.setTextflexsettingarrayList(r);
							break;
						case 14:
							r = t.readInt64();
							e.setCenteranimassetid(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.MemberMessage.EffectConfig.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.MemberMessage.EffectConfig.serializeBinaryToWriter(this, e), e
				.getResultBuffer()
			}, proto.MemberMessage.EffectConfig.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getType()) && t.writeInt64(1, r), null != (r = e.getIcon()) && t.writeMessage(
						2, r, proto.Image.serializeBinaryToWriter), 0 !== (r = e.getAvatarpos()) && t
					.writeInt64(3, r), null != (r = e.getText()) && t.writeMessage(4, r, proto.Text
						.serializeBinaryToWriter), null != (r = e.getTexticon()) && t.writeMessage(5, r,
						proto.Image.serializeBinaryToWriter), 0 !== (r = e.getStaytime()) && t.writeInt32(6,
						r), 0 !== (r = e.getAnimassetid()) && t.writeInt64(7, r), null != (r = e
				.getBadge()) && t.writeMessage(8, r, proto.Image.serializeBinaryToWriter), (r = e
						.getFlexsettingarrayList()).length > 0 && t.writePackedInt64(9, r), null != (r = e
						.getTexticonoverlay()) && t.writeMessage(10, r, proto.Image
					.serializeBinaryToWriter), null != (r = e.getAnimatedbadge()) && t.writeMessage(11, r,
						proto.Image.serializeBinaryToWriter), (r = e.getHassweeplight()) && t.writeBool(12,
						r), (r = e.getTextflexsettingarrayList()).length > 0 && t.writePackedInt64(13, r),
					0 !== (r = e.getCenteranimassetid()) && t.writeInt64(14, r)
			}, proto.MemberMessage.EffectConfig.prototype.getType = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.MemberMessage.EffectConfig.prototype.setType = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.MemberMessage.EffectConfig.prototype.getIcon = function() {
				return o.Message.getWrapperField(this, proto.Image, 2)
			}, proto.MemberMessage.EffectConfig.prototype.setIcon = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.MemberMessage.EffectConfig.prototype.clearIcon = function() {
				return this.setIcon(void 0)
			}, proto.MemberMessage.EffectConfig.prototype.hasIcon = function() {
				return null != o.Message.getField(this, 2)
			}, proto.MemberMessage.EffectConfig.prototype.getAvatarpos = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.MemberMessage.EffectConfig.prototype.setAvatarpos = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.MemberMessage.EffectConfig.prototype.getText = function() {
				return o.Message.getWrapperField(this, proto.Text, 4)
			}, proto.MemberMessage.EffectConfig.prototype.setText = function(e) {
				return o.Message.setWrapperField(this, 4, e)
			}, proto.MemberMessage.EffectConfig.prototype.clearText = function() {
				return this.setText(void 0)
			}, proto.MemberMessage.EffectConfig.prototype.hasText = function() {
				return null != o.Message.getField(this, 4)
			}, proto.MemberMessage.EffectConfig.prototype.getTexticon = function() {
				return o.Message.getWrapperField(this, proto.Image, 5)
			}, proto.MemberMessage.EffectConfig.prototype.setTexticon = function(e) {
				return o.Message.setWrapperField(this, 5, e)
			}, proto.MemberMessage.EffectConfig.prototype.clearTexticon = function() {
				return this.setTexticon(void 0)
			}, proto.MemberMessage.EffectConfig.prototype.hasTexticon = function() {
				return null != o.Message.getField(this, 5)
			}, proto.MemberMessage.EffectConfig.prototype.getStaytime = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.MemberMessage.EffectConfig.prototype.setStaytime = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.MemberMessage.EffectConfig.prototype.getAnimassetid = function() {
				return o.Message.getFieldWithDefault(this, 7, 0)
			}, proto.MemberMessage.EffectConfig.prototype.setAnimassetid = function(e) {
				return o.Message.setProto3IntField(this, 7, e)
			}, proto.MemberMessage.EffectConfig.prototype.getBadge = function() {
				return o.Message.getWrapperField(this, proto.Image, 8)
			}, proto.MemberMessage.EffectConfig.prototype.setBadge = function(e) {
				return o.Message.setWrapperField(this, 8, e)
			}, proto.MemberMessage.EffectConfig.prototype.clearBadge = function() {
				return this.setBadge(void 0)
			}, proto.MemberMessage.EffectConfig.prototype.hasBadge = function() {
				return null != o.Message.getField(this, 8)
			}, proto.MemberMessage.EffectConfig.prototype.getFlexsettingarrayList = function() {
				return o.Message.getRepeatedField(this, 9)
			}, proto.MemberMessage.EffectConfig.prototype.setFlexsettingarrayList = function(e) {
				return o.Message.setField(this, 9, e || [])
			}, proto.MemberMessage.EffectConfig.prototype.addFlexsettingarray = function(e, t) {
				return o.Message.addToRepeatedField(this, 9, e, t)
			}, proto.MemberMessage.EffectConfig.prototype.clearFlexsettingarrayList = function() {
				return this.setFlexsettingarrayList([])
			}, proto.MemberMessage.EffectConfig.prototype.getTexticonoverlay = function() {
				return o.Message.getWrapperField(this, proto.Image, 10)
			}, proto.MemberMessage.EffectConfig.prototype.setTexticonoverlay = function(e) {
				return o.Message.setWrapperField(this, 10, e)
			}, proto.MemberMessage.EffectConfig.prototype.clearTexticonoverlay = function() {
				return this.setTexticonoverlay(void 0)
			}, proto.MemberMessage.EffectConfig.prototype.hasTexticonoverlay = function() {
				return null != o.Message.getField(this, 10)
			}, proto.MemberMessage.EffectConfig.prototype.getAnimatedbadge = function() {
				return o.Message.getWrapperField(this, proto.Image, 11)
			}, proto.MemberMessage.EffectConfig.prototype.setAnimatedbadge = function(e) {
				return o.Message.setWrapperField(this, 11, e)
			}, proto.MemberMessage.EffectConfig.prototype.clearAnimatedbadge = function() {
				return this.setAnimatedbadge(void 0)
			}, proto.MemberMessage.EffectConfig.prototype.hasAnimatedbadge = function() {
				return null != o.Message.getField(this, 11)
			}, proto.MemberMessage.EffectConfig.prototype.getHassweeplight = function() {
				return o.Message.getBooleanFieldWithDefault(this, 12, !1)
			}, proto.MemberMessage.EffectConfig.prototype.setHassweeplight = function(e) {
				return o.Message.setProto3BooleanField(this, 12, e)
			}, proto.MemberMessage.EffectConfig.prototype.getTextflexsettingarrayList = function() {
				return o.Message.getRepeatedField(this, 13)
			}, proto.MemberMessage.EffectConfig.prototype.setTextflexsettingarrayList = function(e) {
				return o.Message.setField(this, 13, e || [])
			}, proto.MemberMessage.EffectConfig.prototype.addTextflexsettingarray = function(e, t) {
				return o.Message.addToRepeatedField(this, 13, e, t)
			}, proto.MemberMessage.EffectConfig.prototype.clearTextflexsettingarrayList = function() {
				return this.setTextflexsettingarrayList([])
			}, proto.MemberMessage.EffectConfig.prototype.getCenteranimassetid = function() {
				return o.Message.getFieldWithDefault(this, 14, 0)
			}, proto.MemberMessage.EffectConfig.prototype.setCenteranimassetid = function(e) {
				return o.Message.setProto3IntField(this, 14, e)
			}, proto.MemberMessage.prototype.getCommon = function() {
				return o.Message.getWrapperField(this, proto.Common, 1)
			}, proto.MemberMessage.prototype.setCommon = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.MemberMessage.prototype.clearCommon = function() {
				return this.setCommon(void 0)
			}, proto.MemberMessage.prototype.hasCommon = function() {
				return null != o.Message.getField(this, 1)
			}, proto.MemberMessage.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 2)
			}, proto.MemberMessage.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.MemberMessage.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.MemberMessage.prototype.hasUser = function() {
				return null != o.Message.getField(this, 2)
			}, proto.MemberMessage.prototype.getMembercount = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.MemberMessage.prototype.setMembercount = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.MemberMessage.prototype.getOperator = function() {
				return o.Message.getWrapperField(this, proto.User, 4)
			}, proto.MemberMessage.prototype.setOperator = function(e) {
				return o.Message.setWrapperField(this, 4, e)
			}, proto.MemberMessage.prototype.clearOperator = function() {
				return this.setOperator(void 0)
			}, proto.MemberMessage.prototype.hasOperator = function() {
				return null != o.Message.getField(this, 4)
			}, proto.MemberMessage.prototype.getIssettoadmin = function() {
				return o.Message.getBooleanFieldWithDefault(this, 5, !1)
			}, proto.MemberMessage.prototype.setIssettoadmin = function(e) {
				return o.Message.setProto3BooleanField(this, 5, e)
			}, proto.MemberMessage.prototype.getIstopuser = function() {
				return o.Message.getBooleanFieldWithDefault(this, 6, !1)
			}, proto.MemberMessage.prototype.setIstopuser = function(e) {
				return o.Message.setProto3BooleanField(this, 6, e)
			}, proto.MemberMessage.prototype.getRankscore = function() {
				return o.Message.getFieldWithDefault(this, 7, 0)
			}, proto.MemberMessage.prototype.setRankscore = function(e) {
				return o.Message.setProto3IntField(this, 7, e)
			}, proto.MemberMessage.prototype.getTopuserno = function() {
				return o.Message.getFieldWithDefault(this, 8, 0)
			}, proto.MemberMessage.prototype.setTopuserno = function(e) {
				return o.Message.setProto3IntField(this, 8, e)
			}, proto.MemberMessage.prototype.getEntertype = function() {
				return o.Message.getFieldWithDefault(this, 9, 0)
			}, proto.MemberMessage.prototype.setEntertype = function(e) {
				return o.Message.setProto3IntField(this, 9, e)
			}, proto.MemberMessage.prototype.getAction = function() {
				return o.Message.getFieldWithDefault(this, 10, 0)
			}, proto.MemberMessage.prototype.setAction = function(e) {
				return o.Message.setProto3IntField(this, 10, e)
			}, proto.MemberMessage.prototype.getActiondescription = function() {
				return o.Message.getFieldWithDefault(this, 11, "")
			}, proto.MemberMessage.prototype.setActiondescription = function(e) {
				return o.Message.setProto3StringField(this, 11, e)
			}, proto.MemberMessage.prototype.getUserid = function() {
				return o.Message.getFieldWithDefault(this, 12, 0)
			}, proto.MemberMessage.prototype.setUserid = function(e) {
				return o.Message.setProto3IntField(this, 12, e)
			}, proto.MemberMessage.prototype.getEffectconfig = function() {
				return o.Message.getWrapperField(this, proto.MemberMessage.EffectConfig, 13)
			}, proto.MemberMessage.prototype.setEffectconfig = function(e) {
				return o.Message.setWrapperField(this, 13, e)
			}, proto.MemberMessage.prototype.clearEffectconfig = function() {
				return this.setEffectconfig(void 0)
			}, proto.MemberMessage.prototype.hasEffectconfig = function() {
				return null != o.Message.getField(this, 13)
			}, proto.MemberMessage.prototype.getPopstr = function() {
				return o.Message.getFieldWithDefault(this, 14, "")
			}, proto.MemberMessage.prototype.setPopstr = function(e) {
				return o.Message.setProto3StringField(this, 14, e)
			}, proto.MemberMessage.prototype.getEntereffectconfig = function() {
				return o.Message.getWrapperField(this, proto.MemberMessage.EffectConfig, 15)
			}, proto.MemberMessage.prototype.setEntereffectconfig = function(e) {
				return o.Message.setWrapperField(this, 15, e)
			}, proto.MemberMessage.prototype.clearEntereffectconfig = function() {
				return this.setEntereffectconfig(void 0)
			}, proto.MemberMessage.prototype.hasEntereffectconfig = function() {
				return null != o.Message.getField(this, 15)
			}, proto.MemberMessage.prototype.getBackgroundimage = function() {
				return o.Message.getWrapperField(this, proto.Image, 16)
			}, proto.MemberMessage.prototype.setBackgroundimage = function(e) {
				return o.Message.setWrapperField(this, 16, e)
			}, proto.MemberMessage.prototype.clearBackgroundimage = function() {
				return this.setBackgroundimage(void 0)
			}, proto.MemberMessage.prototype.hasBackgroundimage = function() {
				return null != o.Message.getField(this, 16)
			}, proto.MemberMessage.prototype.getBackgroundimagev2 = function() {
				return o.Message.getWrapperField(this, proto.Image, 17)
			}, proto.MemberMessage.prototype.setBackgroundimagev2 = function(e) {
				return o.Message.setWrapperField(this, 17, e)
			}, proto.MemberMessage.prototype.clearBackgroundimagev2 = function() {
				return this.setBackgroundimagev2(void 0)
			}, proto.MemberMessage.prototype.hasBackgroundimagev2 = function() {
				return null != o.Message.getField(this, 17)
			}, proto.MemberMessage.prototype.getAnchordisplaytext = function() {
				return o.Message.getWrapperField(this, proto.Text, 18)
			}, proto.MemberMessage.prototype.setAnchordisplaytext = function(e) {
				return o.Message.setWrapperField(this, 18, e)
			}, proto.MemberMessage.prototype.clearAnchordisplaytext = function() {
				return this.setAnchordisplaytext(void 0)
			}, proto.MemberMessage.prototype.hasAnchordisplaytext = function() {
				return null != o.Message.getField(this, 18)
			}, proto.MemberMessage.prototype.getPublicareacommon = function() {
				return o.Message.getWrapperField(this, proto.PublicAreaCommon, 19)
			}, proto.MemberMessage.prototype.setPublicareacommon = function(e) {
				return o.Message.setWrapperField(this, 19, e)
			}, proto.MemberMessage.prototype.clearPublicareacommon = function() {
				return this.setPublicareacommon(void 0)
			}, proto.MemberMessage.prototype.hasPublicareacommon = function() {
				return null != o.Message.getField(this, 19)
			}, o.Message.GENERATE_TO_OBJECT && (proto.ControlMessage.prototype.toObject = function(e) {
				return proto.ControlMessage.toObject(e, this)
			}, proto.ControlMessage.toObject = function(e, t) {
				var r, s = {
					common: (r = t.getCommon()) && proto.Common.toObject(e, r),
					status: o.Message.getFieldWithDefault(t, 2, 0)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.ControlMessage.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.ControlMessage;
				return proto.ControlMessage.deserializeBinaryFromReader(r, t)
			}, proto.ControlMessage.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Common;
							t.readMessage(r, proto.Common.deserializeBinaryFromReader), e.setCommon(r);
							break;
						case 2:
							r = t.readInt32();
							e.setStatus(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.ControlMessage.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.ControlMessage.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.ControlMessage.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getCommon()) && t.writeMessage(1, r, proto.Common.serializeBinaryToWriter),
					0 !== (r = e.getStatus()) && t.writeInt32(2, r)
			}, proto.ControlMessage.prototype.getCommon = function() {
				return o.Message.getWrapperField(this, proto.Common, 1)
			}, proto.ControlMessage.prototype.setCommon = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.ControlMessage.prototype.clearCommon = function() {
				return this.setCommon(void 0)
			}, proto.ControlMessage.prototype.hasCommon = function() {
				return null != o.Message.getField(this, 1)
			}, proto.ControlMessage.prototype.getStatus = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.ControlMessage.prototype.setStatus = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.FansclubMessage.prototype.toObject = function(e) {
				return proto.FansclubMessage.toObject(e, this)
			}, proto.FansclubMessage.toObject = function(e, t) {
				var r, s = {
					commoninfo: (r = t.getCommoninfo()) && proto.Common.toObject(e, r),
					type: o.Message.getFieldWithDefault(t, 2, 0),
					content: o.Message.getFieldWithDefault(t, 3, ""),
					user: (r = t.getUser()) && proto.User.toObject(e, r)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.FansclubMessage.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.FansclubMessage;
				return proto.FansclubMessage.deserializeBinaryFromReader(r, t)
			}, proto.FansclubMessage.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Common;
							t.readMessage(r, proto.Common.deserializeBinaryFromReader), e.setCommoninfo(r);
							break;
						case 2:
							r = t.readInt32();
							e.setType(r);
							break;
						case 3:
							r = t.readString();
							e.setContent(r);
							break;
						case 4:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.FansclubMessage.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.FansclubMessage.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.FansclubMessage.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getCommoninfo()) && t.writeMessage(1, r, proto.Common
						.serializeBinaryToWriter), 0 !== (r = e.getType()) && t.writeInt32(2, r), (r = e
						.getContent()).length > 0 && t.writeString(3, r), null != (r = e.getUser()) && t
					.writeMessage(4, r, proto.User.serializeBinaryToWriter)
			}, proto.FansclubMessage.prototype.getCommoninfo = function() {
				return o.Message.getWrapperField(this, proto.Common, 1)
			}, proto.FansclubMessage.prototype.setCommoninfo = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.FansclubMessage.prototype.clearCommoninfo = function() {
				return this.setCommoninfo(void 0)
			}, proto.FansclubMessage.prototype.hasCommoninfo = function() {
				return null != o.Message.getField(this, 1)
			}, proto.FansclubMessage.prototype.getType = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.FansclubMessage.prototype.setType = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.FansclubMessage.prototype.getContent = function() {
				return o.Message.getFieldWithDefault(this, 3, "")
			}, proto.FansclubMessage.prototype.setContent = function(e) {
				return o.Message.setProto3StringField(this, 3, e)
			}, proto.FansclubMessage.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 4)
			}, proto.FansclubMessage.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 4, e)
			}, proto.FansclubMessage.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.FansclubMessage.prototype.hasUser = function() {
				return null != o.Message.getField(this, 4)
			}, o.Message.GENERATE_TO_OBJECT && (proto.Common.prototype.toObject = function(e) {
				return proto.Common.toObject(e, this)
			}, proto.Common.toObject = function(e, t) {
				var r, s = {
					method: o.Message.getFieldWithDefault(t, 1, ""),
					msgid: o.Message.getFieldWithDefault(t, 2, 0),
					roomid: o.Message.getFieldWithDefault(t, 3, 0),
					createtime: o.Message.getFieldWithDefault(t, 4, 0),
					monitor: o.Message.getFieldWithDefault(t, 5, 0),
					isshowmsg: o.Message.getBooleanFieldWithDefault(t, 6, !1),
					describe: o.Message.getFieldWithDefault(t, 7, ""),
					displaytext: (r = t.getDisplaytext()) && proto.Text.toObject(e, r),
					foldtype: o.Message.getFieldWithDefault(t, 9, 0),
					anchorfoldtype: o.Message.getFieldWithDefault(t, 10, 0),
					priorityscore: o.Message.getFieldWithDefault(t, 11, 0),
					logid: o.Message.getFieldWithDefault(t, 12, ""),
					msgprocessfilterk: o.Message.getFieldWithDefault(t, 13, ""),
					msgprocessfilterv: o.Message.getFieldWithDefault(t, 14, ""),
					user: (r = t.getUser()) && proto.User.toObject(e, r),
					room: (r = t.getRoom()) && proto.Room.toObject(e, r),
					anchorfoldtypev2: o.Message.getFieldWithDefault(t, 17, 0),
					processatseitimems: o.Message.getFieldWithDefault(t, 18, 0)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.Common.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.Common;
				return proto.Common.deserializeBinaryFromReader(r, t)
			}, proto.Common.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readString();
							e.setMethod(r);
							break;
						case 2:
							r = t.readInt64();
							e.setMsgid(r);
							break;
						case 3:
							r = t.readInt64();
							e.setRoomid(r);
							break;
						case 4:
							r = t.readInt64();
							e.setCreatetime(r);
							break;
						case 5:
							r = t.readInt32();
							e.setMonitor(r);
							break;
						case 6:
							r = t.readBool();
							e.setIsshowmsg(r);
							break;
						case 7:
							r = t.readString();
							e.setDescribe(r);
							break;
						case 8:
							r = new proto.Text;
							t.readMessage(r, proto.Text.deserializeBinaryFromReader), e.setDisplaytext(r);
							break;
						case 9:
							r = t.readInt64();
							e.setFoldtype(r);
							break;
						case 10:
							r = t.readInt64();
							e.setAnchorfoldtype(r);
							break;
						case 11:
							r = t.readInt64();
							e.setPriorityscore(r);
							break;
						case 12:
							r = t.readString();
							e.setLogid(r);
							break;
						case 13:
							r = t.readString();
							e.setMsgprocessfilterk(r);
							break;
						case 14:
							r = t.readString();
							e.setMsgprocessfilterv(r);
							break;
						case 15:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						case 16:
							r = new proto.Room;
							t.readMessage(r, proto.Room.deserializeBinaryFromReader), e.setRoom(r);
							break;
						case 17:
							r = t.readInt64();
							e.setAnchorfoldtypev2(r);
							break;
						case 18:
							r = t.readInt64();
							e.setProcessatseitimems(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.Common.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.Common.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.Common.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getMethod()).length > 0 && t.writeString(1, r), 0 !== (r = e.getMsgid()) && t
					.writeInt64(2, r), 0 !== (r = e.getRoomid()) && t.writeInt64(3, r), 0 !== (r = e
						.getCreatetime()) && t.writeInt64(4, r), 0 !== (r = e.getMonitor()) && t.writeInt32(
						5, r), (r = e.getIsshowmsg()) && t.writeBool(6, r), (r = e.getDescribe()).length >
					0 && t.writeString(7, r), null != (r = e.getDisplaytext()) && t.writeMessage(8, r, proto
						.Text.serializeBinaryToWriter), 0 !== (r = e.getFoldtype()) && t.writeInt64(9, r),
					0 !== (r = e.getAnchorfoldtype()) && t.writeInt64(10, r), 0 !== (r = e
					.getPriorityscore()) && t.writeInt64(11, r), (r = e.getLogid()).length > 0 && t
					.writeString(12, r), (r = e.getMsgprocessfilterk()).length > 0 && t.writeString(13, r),
					(r = e.getMsgprocessfilterv()).length > 0 && t.writeString(14, r), null != (r = e
						.getUser()) && t.writeMessage(15, r, proto.User.serializeBinaryToWriter), null != (
						r = e.getRoom()) && t.writeMessage(16, r, proto.Room.serializeBinaryToWriter), 0 !==
					(r = e.getAnchorfoldtypev2()) && t.writeInt64(17, r), 0 !== (r = e
						.getProcessatseitimems()) && t.writeInt64(18, r)
			}, proto.Common.prototype.getMethod = function() {
				return o.Message.getFieldWithDefault(this, 1, "")
			}, proto.Common.prototype.setMethod = function(e) {
				return o.Message.setProto3StringField(this, 1, e)
			}, proto.Common.prototype.getMsgid = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.Common.prototype.setMsgid = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.Common.prototype.getRoomid = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.Common.prototype.setRoomid = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.Common.prototype.getCreatetime = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.Common.prototype.setCreatetime = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.Common.prototype.getMonitor = function() {
				return o.Message.getFieldWithDefault(this, 5, 0)
			}, proto.Common.prototype.setMonitor = function(e) {
				return o.Message.setProto3IntField(this, 5, e)
			}, proto.Common.prototype.getIsshowmsg = function() {
				return o.Message.getBooleanFieldWithDefault(this, 6, !1)
			}, proto.Common.prototype.setIsshowmsg = function(e) {
				return o.Message.setProto3BooleanField(this, 6, e)
			}, proto.Common.prototype.getDescribe = function() {
				return o.Message.getFieldWithDefault(this, 7, "")
			}, proto.Common.prototype.setDescribe = function(e) {
				return o.Message.setProto3StringField(this, 7, e)
			}, proto.Common.prototype.getDisplaytext = function() {
				return o.Message.getWrapperField(this, proto.Text, 8)
			}, proto.Common.prototype.setDisplaytext = function(e) {
				return o.Message.setWrapperField(this, 8, e)
			}, proto.Common.prototype.clearDisplaytext = function() {
				return this.setDisplaytext(void 0)
			}, proto.Common.prototype.hasDisplaytext = function() {
				return null != o.Message.getField(this, 8)
			}, proto.Common.prototype.getFoldtype = function() {
				return o.Message.getFieldWithDefault(this, 9, 0)
			}, proto.Common.prototype.setFoldtype = function(e) {
				return o.Message.setProto3IntField(this, 9, e)
			}, proto.Common.prototype.getAnchorfoldtype = function() {
				return o.Message.getFieldWithDefault(this, 10, 0)
			}, proto.Common.prototype.setAnchorfoldtype = function(e) {
				return o.Message.setProto3IntField(this, 10, e)
			}, proto.Common.prototype.getPriorityscore = function() {
				return o.Message.getFieldWithDefault(this, 11, 0)
			}, proto.Common.prototype.setPriorityscore = function(e) {
				return o.Message.setProto3IntField(this, 11, e)
			}, proto.Common.prototype.getLogid = function() {
				return o.Message.getFieldWithDefault(this, 12, "")
			}, proto.Common.prototype.setLogid = function(e) {
				return o.Message.setProto3StringField(this, 12, e)
			}, proto.Common.prototype.getMsgprocessfilterk = function() {
				return o.Message.getFieldWithDefault(this, 13, "")
			}, proto.Common.prototype.setMsgprocessfilterk = function(e) {
				return o.Message.setProto3StringField(this, 13, e)
			}, proto.Common.prototype.getMsgprocessfilterv = function() {
				return o.Message.getFieldWithDefault(this, 14, "")
			}, proto.Common.prototype.setMsgprocessfilterv = function(e) {
				return o.Message.setProto3StringField(this, 14, e)
			}, proto.Common.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 15)
			}, proto.Common.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 15, e)
			}, proto.Common.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.Common.prototype.hasUser = function() {
				return null != o.Message.getField(this, 15)
			}, proto.Common.prototype.getRoom = function() {
				return o.Message.getWrapperField(this, proto.Room, 16)
			}, proto.Common.prototype.setRoom = function(e) {
				return o.Message.setWrapperField(this, 16, e)
			}, proto.Common.prototype.clearRoom = function() {
				return this.setRoom(void 0)
			}, proto.Common.prototype.hasRoom = function() {
				return null != o.Message.getField(this, 16)
			}, proto.Common.prototype.getAnchorfoldtypev2 = function() {
				return o.Message.getFieldWithDefault(this, 17, 0)
			}, proto.Common.prototype.setAnchorfoldtypev2 = function(e) {
				return o.Message.setProto3IntField(this, 17, e)
			}, proto.Common.prototype.getProcessatseitimems = function() {
				return o.Message.getFieldWithDefault(this, 18, 0)
			}, proto.Common.prototype.setProcessatseitimems = function(e) {
				return o.Message.setProto3IntField(this, 18, e)
			}, proto.Text.repeatedFields_ = [4], o.Message.GENERATE_TO_OBJECT && (proto.Text.prototype
				.toObject = function(e) {
					return proto.Text.toObject(e, this)
				}, proto.Text.toObject = function(e, t) {
					var r, s = {
						key: o.Message.getFieldWithDefault(t, 1, ""),
						defaultpattern: o.Message.getFieldWithDefault(t, 2, ""),
						defaultformat: (r = t.getDefaultformat()) && proto.TextFormat.toObject(e, r),
						piecesList: o.Message.toObjectList(t.getPiecesList(), proto.TextPiece.toObject,
							e)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.Text.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.Text;
				return proto.Text.deserializeBinaryFromReader(r, t)
			}, proto.Text.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readString();
							e.setKey(r);
							break;
						case 2:
							r = t.readString();
							e.setDefaultpattern(r);
							break;
						case 3:
							r = new proto.TextFormat;
							t.readMessage(r, proto.TextFormat.deserializeBinaryFromReader), e
								.setDefaultformat(r);
							break;
						case 4:
							r = new proto.TextPiece;
							t.readMessage(r, proto.TextPiece.deserializeBinaryFromReader), e.addPieces(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.Text.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.Text.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.Text.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getKey()).length > 0 && t.writeString(1, r), (r = e.getDefaultpattern()).length >
					0 && t.writeString(2, r), null != (r = e.getDefaultformat()) && t.writeMessage(3, r,
						proto.TextFormat.serializeBinaryToWriter), (r = e.getPiecesList()).length > 0 && t
					.writeRepeatedMessage(4, r, proto.TextPiece.serializeBinaryToWriter)
			}, proto.Text.prototype.getKey = function() {
				return o.Message.getFieldWithDefault(this, 1, "")
			}, proto.Text.prototype.setKey = function(e) {
				return o.Message.setProto3StringField(this, 1, e)
			}, proto.Text.prototype.getDefaultpattern = function() {
				return o.Message.getFieldWithDefault(this, 2, "")
			}, proto.Text.prototype.setDefaultpattern = function(e) {
				return o.Message.setProto3StringField(this, 2, e)
			}, proto.Text.prototype.getDefaultformat = function() {
				return o.Message.getWrapperField(this, proto.TextFormat, 3)
			}, proto.Text.prototype.setDefaultformat = function(e) {
				return o.Message.setWrapperField(this, 3, e)
			}, proto.Text.prototype.clearDefaultformat = function() {
				return this.setDefaultformat(void 0)
			}, proto.Text.prototype.hasDefaultformat = function() {
				return null != o.Message.getField(this, 3)
			}, proto.Text.prototype.getPiecesList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.TextPiece, 4)
			}, proto.Text.prototype.setPiecesList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 4, e)
			}, proto.Text.prototype.addPieces = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 4, e, proto.TextPiece, t)
			}, proto.Text.prototype.clearPiecesList = function() {
				return this.setPiecesList([])
			}, proto.Room.repeatedFields_ = [34, 35, 45], o.Message.GENERATE_TO_OBJECT && (proto.Room
				.prototype.toObject = function(e) {
					return proto.Room.toObject(e, this)
				}, proto.Room.toObject = function(e, t) {
					var r, s = {
						id: o.Message.getFieldWithDefault(t, 1, 0),
						idstr: o.Message.getFieldWithDefault(t, 2, ""),
						status: o.Message.getFieldWithDefault(t, 3, 0),
						owneruserid: o.Message.getFieldWithDefault(t, 4, 0),
						title: o.Message.getFieldWithDefault(t, 5, ""),
						usercount: o.Message.getFieldWithDefault(t, 6, 0),
						createtime: o.Message.getFieldWithDefault(t, 7, 0),
						linkmiclayout: o.Message.getFieldWithDefault(t, 8, 0),
						finishtime: o.Message.getFieldWithDefault(t, 9, 0),
						extra: (r = t.getExtra()) && proto.RoomExtra.toObject(e, r),
						dynamiccoveruri: o.Message.getFieldWithDefault(t, 11, ""),
						dynamiccoverdictMap: (r = t.getDynamiccoverdictMap()) ? r.toObject(e, void 0) :
							[],
						lastpingtime: o.Message.getFieldWithDefault(t, 13, 0),
						liveid: o.Message.getFieldWithDefault(t, 14, 0),
						streamprovider: o.Message.getFieldWithDefault(t, 15, 0),
						ostype: o.Message.getFieldWithDefault(t, 16, 0),
						clientversion: o.Message.getFieldWithDefault(t, 17, 0),
						withlinkmic: o.Message.getBooleanFieldWithDefault(t, 18, !1),
						enableroomperspective: o.Message.getBooleanFieldWithDefault(t, 19, !1),
						cover: (r = t.getCover()) && proto.Image.toObject(e, r),
						dynamiccover: (r = t.getDynamiccover()) && proto.Image.toObject(e, r),
						dynamiccoverlow: (r = t.getDynamiccoverlow()) && proto.Image.toObject(e, r),
						shareurl: o.Message.getFieldWithDefault(t, 23, ""),
						anchorsharetext: o.Message.getFieldWithDefault(t, 24, ""),
						usersharetext: o.Message.getFieldWithDefault(t, 25, ""),
						streamid: o.Message.getFieldWithDefault(t, 26, 0),
						streamidstr: o.Message.getFieldWithDefault(t, 27, ""),
						streamurl: (r = t.getStreamurl()) && proto.StreamUrl.toObject(e, r),
						mosaicstatus: o.Message.getFieldWithDefault(t, 29, 0),
						mosaictip: o.Message.getFieldWithDefault(t, 30, ""),
						cellstyle: o.Message.getFieldWithDefault(t, 31, 0),
						linkmic: (r = t.getLinkmic()) && proto.LinkMic.toObject(e, r),
						luckymoneynum: o.Message.getFieldWithDefault(t, 33, 0),
						decolistList: o.Message.toObjectList(t.getDecolistList(), proto.Decoration
							.toObject, e),
						topfansList: o.Message.toObjectList(t.getTopfansList(), proto.TopFan.toObject,
							e),
						stats: (r = t.getStats()) && proto.RoomStats.toObject(e, r),
						sundailyiconcontent: o.Message.getFieldWithDefault(t, 37, ""),
						distance: o.Message.getFieldWithDefault(t, 38, ""),
						distancecity: o.Message.getFieldWithDefault(t, 39, ""),
						location: o.Message.getFieldWithDefault(t, 40, ""),
						realdistance: o.Message.getFieldWithDefault(t, 41, ""),
						feedroomlabel: (r = t.getFeedroomlabel()) && proto.Image.toObject(e, r),
						commonlabellist: o.Message.getFieldWithDefault(t, 43, ""),
						livingroomattrs: (r = t.getLivingroomattrs()) && proto.RoomUserAttr.toObject(e,
							r),
						adminuseridsList: null == (r = o.Message.getRepeatedField(t, 45)) ? void 0 : r,
						owner: (r = t.getOwner()) && proto.User.toObject(e, r),
						privateinfo: o.Message.getFieldWithDefault(t, 47, "")
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.Room.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.Room;
				return proto.Room.deserializeBinaryFromReader(r, t)
			}, proto.Room.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt64();
							e.setId(r);
							break;
						case 2:
							r = t.readString();
							e.setIdstr(r);
							break;
						case 3:
							r = t.readInt64();
							e.setStatus(r);
							break;
						case 4:
							r = t.readInt64();
							e.setOwneruserid(r);
							break;
						case 5:
							r = t.readString();
							e.setTitle(r);
							break;
						case 6:
							r = t.readInt64();
							e.setUsercount(r);
							break;
						case 7:
							r = t.readInt64();
							e.setCreatetime(r);
							break;
						case 8:
							r = t.readInt64();
							e.setLinkmiclayout(r);
							break;
						case 9:
							r = t.readInt64();
							e.setFinishtime(r);
							break;
						case 10:
							r = new proto.RoomExtra;
							t.readMessage(r, proto.RoomExtra.deserializeBinaryFromReader), e.setExtra(r);
							break;
						case 11:
							r = t.readString();
							e.setDynamiccoveruri(r);
							break;
						case 12:
							r = e.getDynamiccoverdictMap();
							t.readMessage(r, function(e, t) {
								o.Map.deserializeBinary(e, t, o.BinaryReader.prototype.readInt64, o
									.BinaryReader.prototype.readString, null, 0, "")
							});
							break;
						case 13:
							r = t.readInt64();
							e.setLastpingtime(r);
							break;
						case 14:
							r = t.readInt64();
							e.setLiveid(r);
							break;
						case 15:
							r = t.readInt64();
							e.setStreamprovider(r);
							break;
						case 16:
							r = t.readInt64();
							e.setOstype(r);
							break;
						case 17:
							r = t.readInt64();
							e.setClientversion(r);
							break;
						case 18:
							r = t.readBool();
							e.setWithlinkmic(r);
							break;
						case 19:
							r = t.readBool();
							e.setEnableroomperspective(r);
							break;
						case 20:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setCover(r);
							break;
						case 21:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setDynamiccover(r);
							break;
						case 22:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setDynamiccoverlow(
								r);
							break;
						case 23:
							r = t.readString();
							e.setShareurl(r);
							break;
						case 24:
							r = t.readString();
							e.setAnchorsharetext(r);
							break;
						case 25:
							r = t.readString();
							e.setUsersharetext(r);
							break;
						case 26:
							r = t.readInt64();
							e.setStreamid(r);
							break;
						case 27:
							r = t.readString();
							e.setStreamidstr(r);
							break;
						case 28:
							r = new proto.StreamUrl;
							t.readMessage(r, proto.StreamUrl.deserializeBinaryFromReader), e.setStreamurl(
							r);
							break;
						case 29:
							r = t.readInt64();
							e.setMosaicstatus(r);
							break;
						case 30:
							r = t.readString();
							e.setMosaictip(r);
							break;
						case 31:
							r = t.readInt64();
							e.setCellstyle(r);
							break;
						case 32:
							r = new proto.LinkMic;
							t.readMessage(r, proto.LinkMic.deserializeBinaryFromReader), e.setLinkmic(r);
							break;
						case 33:
							r = t.readInt64();
							e.setLuckymoneynum(r);
							break;
						case 34:
							r = new proto.Decoration;
							t.readMessage(r, proto.Decoration.deserializeBinaryFromReader), e.addDecolist(
							r);
							break;
						case 35:
							r = new proto.TopFan;
							t.readMessage(r, proto.TopFan.deserializeBinaryFromReader), e.addTopfans(r);
							break;
						case 36:
							r = new proto.RoomStats;
							t.readMessage(r, proto.RoomStats.deserializeBinaryFromReader), e.setStats(r);
							break;
						case 37:
							r = t.readString();
							e.setSundailyiconcontent(r);
							break;
						case 38:
							r = t.readString();
							e.setDistance(r);
							break;
						case 39:
							r = t.readString();
							e.setDistancecity(r);
							break;
						case 40:
							r = t.readString();
							e.setLocation(r);
							break;
						case 41:
							r = t.readString();
							e.setRealdistance(r);
							break;
						case 42:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setFeedroomlabel(
							r);
							break;
						case 43:
							r = t.readString();
							e.setCommonlabellist(r);
							break;
						case 44:
							r = new proto.RoomUserAttr;
							t.readMessage(r, proto.RoomUserAttr.deserializeBinaryFromReader), e
								.setLivingroomattrs(r);
							break;
						case 45:
							r = t.readPackedInt64();
							e.setAdminuseridsList(r);
							break;
						case 46:
							r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setOwner(r);
							break;
						case 47:
							r = t.readString();
							e.setPrivateinfo(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.Room.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.Room.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.Room.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getId()) && t.writeInt64(1, r), (r = e.getIdstr()).length > 0 && t.writeString(
						2, r), 0 !== (r = e.getStatus()) && t.writeInt64(3, r), 0 !== (r = e
					.getOwneruserid()) && t.writeInt64(4, r), (r = e.getTitle()).length > 0 && t
					.writeString(5, r), 0 !== (r = e.getUsercount()) && t.writeInt64(6, r), 0 !== (r = e
						.getCreatetime()) && t.writeInt64(7, r), 0 !== (r = e.getLinkmiclayout()) && t
					.writeInt64(8, r), 0 !== (r = e.getFinishtime()) && t.writeInt64(9, r), null != (r = e
						.getExtra()) && t.writeMessage(10, r, proto.RoomExtra.serializeBinaryToWriter), (r =
						e.getDynamiccoveruri()).length > 0 && t.writeString(11, r), (r = e
						.getDynamiccoverdictMap(!0)) && r.getLength() > 0 && r.serializeBinary(12, t, o
						.BinaryWriter.prototype.writeInt64, o.BinaryWriter.prototype.writeString), 0 !== (
						r = e.getLastpingtime()) && t.writeInt64(13, r), 0 !== (r = e.getLiveid()) && t
					.writeInt64(14, r), 0 !== (r = e.getStreamprovider()) && t.writeInt64(15, r), 0 !== (r =
						e.getOstype()) && t.writeInt64(16, r), 0 !== (r = e.getClientversion()) && t
					.writeInt64(17, r), (r = e.getWithlinkmic()) && t.writeBool(18, r), (r = e
						.getEnableroomperspective()) && t.writeBool(19, r), null != (r = e.getCover()) && t
					.writeMessage(20, r, proto.Image.serializeBinaryToWriter), null != (r = e
						.getDynamiccover()) && t.writeMessage(21, r, proto.Image.serializeBinaryToWriter),
					null != (r = e.getDynamiccoverlow()) && t.writeMessage(22, r, proto.Image
						.serializeBinaryToWriter), (r = e.getShareurl()).length > 0 && t.writeString(23, r),
					(r = e.getAnchorsharetext()).length > 0 && t.writeString(24, r), (r = e
						.getUsersharetext()).length > 0 && t.writeString(25, r), 0 !== (r = e
				.getStreamid()) && t.writeInt64(26, r), (r = e.getStreamidstr()).length > 0 && t
					.writeString(27, r), null != (r = e.getStreamurl()) && t.writeMessage(28, r, proto
						.StreamUrl.serializeBinaryToWriter), 0 !== (r = e.getMosaicstatus()) && t
					.writeInt64(29, r), (r = e.getMosaictip()).length > 0 && t.writeString(30, r), 0 !== (
						r = e.getCellstyle()) && t.writeInt64(31, r), null != (r = e.getLinkmic()) && t
					.writeMessage(32, r, proto.LinkMic.serializeBinaryToWriter), 0 !== (r = e
						.getLuckymoneynum()) && t.writeInt64(33, r), (r = e.getDecolistList()).length > 0 &&
					t.writeRepeatedMessage(34, r, proto.Decoration.serializeBinaryToWriter), (r = e
						.getTopfansList()).length > 0 && t.writeRepeatedMessage(35, r, proto.TopFan
						.serializeBinaryToWriter), null != (r = e.getStats()) && t.writeMessage(36, r, proto
						.RoomStats.serializeBinaryToWriter), (r = e.getSundailyiconcontent()).length > 0 &&
					t.writeString(37, r), (r = e.getDistance()).length > 0 && t.writeString(38, r), (r = e
						.getDistancecity()).length > 0 && t.writeString(39, r), (r = e.getLocation())
					.length > 0 && t.writeString(40, r), (r = e.getRealdistance()).length > 0 && t
					.writeString(41, r), null != (r = e.getFeedroomlabel()) && t.writeMessage(42, r, proto
						.Image.serializeBinaryToWriter), (r = e.getCommonlabellist()).length > 0 && t
					.writeString(43, r), null != (r = e.getLivingroomattrs()) && t.writeMessage(44, r, proto
						.RoomUserAttr.serializeBinaryToWriter), (r = e.getAdminuseridsList()).length > 0 &&
					t.writePackedInt64(45, r), null != (r = e.getOwner()) && t.writeMessage(46, r, proto
						.User.serializeBinaryToWriter), (r = e.getPrivateinfo()).length > 0 && t
					.writeString(47, r)
			}, proto.Room.prototype.getId = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.Room.prototype.setId = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.Room.prototype.getIdstr = function() {
				return o.Message.getFieldWithDefault(this, 2, "")
			}, proto.Room.prototype.setIdstr = function(e) {
				return o.Message.setProto3StringField(this, 2, e)
			}, proto.Room.prototype.getStatus = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.Room.prototype.setStatus = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.Room.prototype.getOwneruserid = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.Room.prototype.setOwneruserid = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.Room.prototype.getTitle = function() {
				return o.Message.getFieldWithDefault(this, 5, "")
			}, proto.Room.prototype.setTitle = function(e) {
				return o.Message.setProto3StringField(this, 5, e)
			}, proto.Room.prototype.getUsercount = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.Room.prototype.setUsercount = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.Room.prototype.getCreatetime = function() {
				return o.Message.getFieldWithDefault(this, 7, 0)
			}, proto.Room.prototype.setCreatetime = function(e) {
				return o.Message.setProto3IntField(this, 7, e)
			}, proto.Room.prototype.getLinkmiclayout = function() {
				return o.Message.getFieldWithDefault(this, 8, 0)
			}, proto.Room.prototype.setLinkmiclayout = function(e) {
				return o.Message.setProto3IntField(this, 8, e)
			}, proto.Room.prototype.getFinishtime = function() {
				return o.Message.getFieldWithDefault(this, 9, 0)
			}, proto.Room.prototype.setFinishtime = function(e) {
				return o.Message.setProto3IntField(this, 9, e)
			}, proto.Room.prototype.getExtra = function() {
				return o.Message.getWrapperField(this, proto.RoomExtra, 10)
			}, proto.Room.prototype.setExtra = function(e) {
				return o.Message.setWrapperField(this, 10, e)
			}, proto.Room.prototype.clearExtra = function() {
				return this.setExtra(void 0)
			}, proto.Room.prototype.hasExtra = function() {
				return null != o.Message.getField(this, 10)
			}, proto.Room.prototype.getDynamiccoveruri = function() {
				return o.Message.getFieldWithDefault(this, 11, "")
			}, proto.Room.prototype.setDynamiccoveruri = function(e) {
				return o.Message.setProto3StringField(this, 11, e)
			}, proto.Room.prototype.getDynamiccoverdictMap = function(e) {
				return o.Message.getMapField(this, 12, e, null)
			}, proto.Room.prototype.clearDynamiccoverdictMap = function() {
				return this.getDynamiccoverdictMap().clear(), this
			}, proto.Room.prototype.getLastpingtime = function() {
				return o.Message.getFieldWithDefault(this, 13, 0)
			}, proto.Room.prototype.setLastpingtime = function(e) {
				return o.Message.setProto3IntField(this, 13, e)
			}, proto.Room.prototype.getLiveid = function() {
				return o.Message.getFieldWithDefault(this, 14, 0)
			}, proto.Room.prototype.setLiveid = function(e) {
				return o.Message.setProto3IntField(this, 14, e)
			}, proto.Room.prototype.getStreamprovider = function() {
				return o.Message.getFieldWithDefault(this, 15, 0)
			}, proto.Room.prototype.setStreamprovider = function(e) {
				return o.Message.setProto3IntField(this, 15, e)
			}, proto.Room.prototype.getOstype = function() {
				return o.Message.getFieldWithDefault(this, 16, 0)
			}, proto.Room.prototype.setOstype = function(e) {
				return o.Message.setProto3IntField(this, 16, e)
			}, proto.Room.prototype.getClientversion = function() {
				return o.Message.getFieldWithDefault(this, 17, 0)
			}, proto.Room.prototype.setClientversion = function(e) {
				return o.Message.setProto3IntField(this, 17, e)
			}, proto.Room.prototype.getWithlinkmic = function() {
				return o.Message.getBooleanFieldWithDefault(this, 18, !1)
			};
		proto.Room.prototype.setWithlinkmic = function(e) {
				return o.Message.setProto3BooleanField(this, 18, e)
			}, proto.Room.prototype.getEnableroomperspective = function() {
				return o.Message.getBooleanFieldWithDefault(this, 19, !1)
			}, proto.Room.prototype.setEnableroomperspective = function(e) {
				return o.Message.setProto3BooleanField(this, 19, e)
			}, proto.Room.prototype.getCover = function() {
				return o.Message.getWrapperField(this, proto.Image, 20)
			}, proto.Room.prototype.setCover = function(e) {
				return o.Message.setWrapperField(this, 20, e)
			}, proto.Room.prototype.clearCover = function() {
				return this.setCover(void 0)
			}, proto.Room.prototype.hasCover = function() {
				return null != o.Message.getField(this, 20)
			}, proto.Room.prototype.getDynamiccover = function() {
				return o.Message.getWrapperField(this, proto.Image, 21)
			}, proto.Room.prototype.setDynamiccover = function(e) {
				return o.Message.setWrapperField(this, 21, e)
			}, proto.Room.prototype.clearDynamiccover = function() {
				return this.setDynamiccover(void 0)
			}, proto.Room.prototype.hasDynamiccover = function() {
				return null != o.Message.getField(this, 21)
			}, proto.Room.prototype.getDynamiccoverlow = function() {
				return o.Message.getWrapperField(this, proto.Image, 22)
			}, proto.Room.prototype.setDynamiccoverlow = function(e) {
				return o.Message.setWrapperField(this, 22, e)
			}, proto.Room.prototype.clearDynamiccoverlow = function() {
				return this.setDynamiccoverlow(void 0)
			}, proto.Room.prototype.hasDynamiccoverlow = function() {
				return null != o.Message.getField(this, 22)
			}, proto.Room.prototype.getShareurl = function() {
				return o.Message.getFieldWithDefault(this, 23, "")
			}, proto.Room.prototype.setShareurl = function(e) {
				return o.Message.setProto3StringField(this, 23, e)
			}, proto.Room.prototype.getAnchorsharetext = function() {
				return o.Message.getFieldWithDefault(this, 24, "")
			}, proto.Room.prototype.setAnchorsharetext = function(e) {
				return o.Message.setProto3StringField(this, 24, e)
			}, proto.Room.prototype.getUsersharetext = function() {
				return o.Message.getFieldWithDefault(this, 25, "")
			}, proto.Room.prototype.setUsersharetext = function(e) {
				return o.Message.setProto3StringField(this, 25, e)
			}, proto.Room.prototype.getStreamid = function() {
				return o.Message.getFieldWithDefault(this, 26, 0)
			}, proto.Room.prototype.setStreamid = function(e) {
				return o.Message.setProto3IntField(this, 26, e)
			}, proto.Room.prototype.getStreamidstr = function() {
				return o.Message.getFieldWithDefault(this, 27, "")
			}, proto.Room.prototype.setStreamidstr = function(e) {
				return o.Message.setProto3StringField(this, 27, e)
			}, proto.Room.prototype.getStreamurl = function() {
				return o.Message.getWrapperField(this, proto.StreamUrl, 28)
			}, proto.Room.prototype.setStreamurl = function(e) {
				return o.Message.setWrapperField(this, 28, e)
			}, proto.Room.prototype.clearStreamurl = function() {
				return this.setStreamurl(void 0)
			}, proto.Room.prototype.hasStreamurl = function() {
				return null != o.Message.getField(this, 28)
			}, proto.Room.prototype.getMosaicstatus = function() {
				return o.Message.getFieldWithDefault(this, 29, 0)
			}, proto.Room.prototype.setMosaicstatus = function(e) {
				return o.Message.setProto3IntField(this, 29, e)
			}, proto.Room.prototype.getMosaictip = function() {
				return o.Message.getFieldWithDefault(this, 30, "")
			}, proto.Room.prototype.setMosaictip = function(e) {
				return o.Message.setProto3StringField(this, 30, e)
			}, proto.Room.prototype.getCellstyle = function() {
				return o.Message.getFieldWithDefault(this, 31, 0)
			}, proto.Room.prototype.setCellstyle = function(e) {
				return o.Message.setProto3IntField(this, 31, e)
			}, proto.Room.prototype.getLinkmic = function() {
				return o.Message.getWrapperField(this, proto.LinkMic, 32)
			}, proto.Room.prototype.setLinkmic = function(e) {
				return o.Message.setWrapperField(this, 32, e)
			}, proto.Room.prototype.clearLinkmic = function() {
				return this.setLinkmic(void 0)
			}, proto.Room.prototype.hasLinkmic = function() {
				return null != o.Message.getField(this, 32)
			}, proto.Room.prototype.getLuckymoneynum = function() {
				return o.Message.getFieldWithDefault(this, 33, 0)
			}, proto.Room.prototype.setLuckymoneynum = function(e) {
				return o.Message.setProto3IntField(this, 33, e)
			}, proto.Room.prototype.getDecolistList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.Decoration, 34)
			}, proto.Room.prototype.setDecolistList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 34, e)
			}, proto.Room.prototype.addDecolist = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 34, e, proto.Decoration, t)
			}, proto.Room.prototype.clearDecolistList = function() {
				return this.setDecolistList([])
			}, proto.Room.prototype.getTopfansList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.TopFan, 35)
			}, proto.Room.prototype.setTopfansList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 35, e)
			}, proto.Room.prototype.addTopfans = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 35, e, proto.TopFan, t)
			}, proto.Room.prototype.clearTopfansList = function() {
				return this.setTopfansList([])
			}, proto.Room.prototype.getStats = function() {
				return o.Message.getWrapperField(this, proto.RoomStats, 36)
			}, proto.Room.prototype.setStats = function(e) {
				return o.Message.setWrapperField(this, 36, e)
			}, proto.Room.prototype.clearStats = function() {
				return this.setStats(void 0)
			}, proto.Room.prototype.hasStats = function() {
				return null != o.Message.getField(this, 36)
			}, proto.Room.prototype.getSundailyiconcontent = function() {
				return o.Message.getFieldWithDefault(this, 37, "")
			}, proto.Room.prototype.setSundailyiconcontent = function(e) {
				return o.Message.setProto3StringField(this, 37, e)
			}, proto.Room.prototype.getDistance = function() {
				return o.Message.getFieldWithDefault(this, 38, "")
			}, proto.Room.prototype.setDistance = function(e) {
				return o.Message.setProto3StringField(this, 38, e)
			}, proto.Room.prototype.getDistancecity = function() {
				return o.Message.getFieldWithDefault(this, 39, "")
			}, proto.Room.prototype.setDistancecity = function(e) {
				return o.Message.setProto3StringField(this, 39, e)
			}, proto.Room.prototype.getLocation = function() {
				return o.Message.getFieldWithDefault(this, 40, "")
			}, proto.Room.prototype.setLocation = function(e) {
				return o.Message.setProto3StringField(this, 40, e)
			}, proto.Room.prototype.getRealdistance = function() {
				return o.Message.getFieldWithDefault(this, 41, "")
			}, proto.Room.prototype.setRealdistance = function(e) {
				return o.Message.setProto3StringField(this, 41, e)
			}, proto.Room.prototype.getFeedroomlabel = function() {
				return o.Message.getWrapperField(this, proto.Image, 42)
			}, proto.Room.prototype.setFeedroomlabel = function(e) {
				return o.Message.setWrapperField(this, 42, e)
			}, proto.Room.prototype.clearFeedroomlabel = function() {
				return this.setFeedroomlabel(void 0)
			}, proto.Room.prototype.hasFeedroomlabel = function() {
				return null != o.Message.getField(this, 42)
			}, proto.Room.prototype.getCommonlabellist = function() {
				return o.Message.getFieldWithDefault(this, 43, "")
			}, proto.Room.prototype.setCommonlabellist = function(e) {
				return o.Message.setProto3StringField(this, 43, e)
			}, proto.Room.prototype.getLivingroomattrs = function() {
				return o.Message.getWrapperField(this, proto.RoomUserAttr, 44)
			}, proto.Room.prototype.setLivingroomattrs = function(e) {
				return o.Message.setWrapperField(this, 44, e)
			}, proto.Room.prototype.clearLivingroomattrs = function() {
				return this.setLivingroomattrs(void 0)
			}, proto.Room.prototype.hasLivingroomattrs = function() {
				return null != o.Message.getField(this, 44)
			}, proto.Room.prototype.getAdminuseridsList = function() {
				return o.Message.getRepeatedField(this, 45)
			}, proto.Room.prototype.setAdminuseridsList = function(e) {
				return o.Message.setField(this, 45, e || [])
			}, proto.Room.prototype.addAdminuserids = function(e, t) {
				return o.Message.addToRepeatedField(this, 45, e, t)
			}, proto.Room.prototype.clearAdminuseridsList = function() {
				return this.setAdminuseridsList([])
			}, proto.Room.prototype.getOwner = function() {
				return o.Message.getWrapperField(this, proto.User, 46)
			}, proto.Room.prototype.setOwner = function(e) {
				return o.Message.setWrapperField(this, 46, e)
			}, proto.Room.prototype.clearOwner = function() {
				return this.setOwner(void 0)
			}, proto.Room.prototype.hasOwner = function() {
				return null != o.Message.getField(this, 46)
			}, proto.Room.prototype.getPrivateinfo = function() {
				return o.Message.getFieldWithDefault(this, 47, "")
			}, proto.Room.prototype.setPrivateinfo = function(e) {
				return o.Message.setProto3StringField(this, 47, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.RoomExtra.prototype.toObject = function(e) {
				return proto.RoomExtra.toObject(e, this)
			}, proto.RoomExtra.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.RoomExtra.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.RoomExtra;
				return proto.RoomExtra.deserializeBinaryFromReader(r, t)
			}, proto.RoomExtra.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.RoomExtra.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.RoomExtra.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.RoomExtra.serializeBinaryToWriter = function(e, t) {}, o.Message.GENERATE_TO_OBJECT &&
			(proto.RoomStats.prototype.toObject = function(e) {
				return proto.RoomStats.toObject(e, this)
			}, proto.RoomStats.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.RoomStats.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.RoomStats;
				return proto.RoomStats.deserializeBinaryFromReader(r, t)
			}, proto.RoomStats.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.RoomStats.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.RoomStats.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.RoomStats.serializeBinaryToWriter = function(e, t) {}, o.Message.GENERATE_TO_OBJECT &&
			(proto.RoomUserAttr.prototype.toObject = function(e) {
				return proto.RoomUserAttr.toObject(e, this)
			}, proto.RoomUserAttr.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.RoomUserAttr.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.RoomUserAttr;
				return proto.RoomUserAttr.deserializeBinaryFromReader(r, t)
			}, proto.RoomUserAttr.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.RoomUserAttr.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.RoomUserAttr.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.RoomUserAttr.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.StreamUrl.prototype.toObject = function(e) {
				return proto.StreamUrl.toObject(e, this)
			}, proto.StreamUrl.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.StreamUrl.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.StreamUrl;
				return proto.StreamUrl.deserializeBinaryFromReader(r, t)
			}, proto.StreamUrl.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.StreamUrl.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.StreamUrl.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.StreamUrl.serializeBinaryToWriter = function(e, t) {}, o.Message.GENERATE_TO_OBJECT &&
			(proto.LinkMic.prototype.toObject = function(e) {
				return proto.LinkMic.toObject(e, this)
			}, proto.LinkMic.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.LinkMic.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.LinkMic;
				return proto.LinkMic.deserializeBinaryFromReader(r, t)
			}, proto.LinkMic.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.LinkMic.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.LinkMic.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.LinkMic.serializeBinaryToWriter = function(e, t) {}, o.Message.GENERATE_TO_OBJECT && (
				proto.Decoration.prototype.toObject = function(e) {
					return proto.Decoration.toObject(e, this)
				}, proto.Decoration.toObject = function(e, t) {
					var r = {};
					return e && (r.$jspbMessageInstance = t), r
				}), proto.Decoration.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.Decoration;
				return proto.Decoration.deserializeBinaryFromReader(r, t)
			}, proto.Decoration.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.Decoration.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.Decoration.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.Decoration.serializeBinaryToWriter = function(e, t) {}, o.Message.GENERATE_TO_OBJECT &&
			(proto.TopFan.prototype.toObject = function(e) {
				return proto.TopFan.toObject(e, this)
			}, proto.TopFan.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.TopFan.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.TopFan;
				return proto.TopFan.deserializeBinaryFromReader(r, t)
			}, proto.TopFan.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.TopFan.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.TopFan.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.TopFan.serializeBinaryToWriter = function(e, t) {}, proto.User.repeatedFields_ = [29,
				30
			], o.Message.GENERATE_TO_OBJECT && (proto.User.prototype.toObject = function(e) {
				return proto.User.toObject(e, this)
			}, proto.User.toObject = function(e, t) {
				var r, s = {
					id: o.Message.getFieldWithDefault(t, 1, 0),
					shortid: o.Message.getFieldWithDefault(t, 2, 0),
					nickname: o.Message.getFieldWithDefault(t, 3, ""),
					gender: o.Message.getFieldWithDefault(t, 4, 0),
					signature: o.Message.getFieldWithDefault(t, 5, ""),
					level: o.Message.getFieldWithDefault(t, 6, 0),
					birthday: o.Message.getFieldWithDefault(t, 7, 0),
					telephone: o.Message.getFieldWithDefault(t, 8, ""),
					avatarthumb: (r = t.getAvatarthumb()) && proto.Image.toObject(e, r),
					avatarmedium: (r = t.getAvatarmedium()) && proto.Image.toObject(e, r),
					avatarlarge: (r = t.getAvatarlarge()) && proto.Image.toObject(e, r),
					verified: o.Message.getBooleanFieldWithDefault(t, 12, !1),
					experience: o.Message.getFieldWithDefault(t, 13, 0),
					city: o.Message.getFieldWithDefault(t, 14, ""),
					status: o.Message.getFieldWithDefault(t, 15, 0),
					createtime: o.Message.getFieldWithDefault(t, 16, 0),
					modifytime: o.Message.getFieldWithDefault(t, 17, 0),
					secret: o.Message.getFieldWithDefault(t, 18, 0),
					shareqrcodeuri: o.Message.getFieldWithDefault(t, 19, ""),
					incomesharepercent: o.Message.getFieldWithDefault(t, 20, 0),
					badgeimagelist: (r = t.getBadgeimagelist()) && proto.Image.toObject(e, r),
					followinfo: (r = t.getFollowinfo()) && proto.User.FollowInfo.toObject(e, r),
					paygrade: (r = t.getPaygrade()) && proto.User.PayGrade.toObject(e, r),
					fansclub: (r = t.getFansclub()) && proto.User.FansClub.toObject(e, r),
					border: (r = t.getBorder()) && proto.User.Border.toObject(e, r),
					specialid: o.Message.getFieldWithDefault(t, 26, ""),
					avatarborder: (r = t.getAvatarborder()) && proto.Image.toObject(e, r),
					medal: (r = t.getMedal()) && proto.Image.toObject(e, r),
					realtimeiconsList: o.Message.toObjectList(t.getRealtimeiconsList(), proto.Image
						.toObject, e),
					newrealtimeiconsList: o.Message.toObjectList(t.getNewrealtimeiconsList(), proto
						.Image.toObject, e),
					topvipno: o.Message.getFieldWithDefault(t, 31, 0),
					userattr: (r = t.getUserattr()) && proto.User.UserAttr.toObject(e, r),
					ownroom: (r = t.getOwnroom()) && proto.User.OwnRoom.toObject(e, r),
					payscore: o.Message.getFieldWithDefault(t, 34, 0),
					ticketcount: o.Message.getFieldWithDefault(t, 35, 0),
					anchorinfo: (r = t.getAnchorinfo()) && proto.User.AnchorInfo.toObject(e, r),
					linkmicstats: o.Message.getFieldWithDefault(t, 37, 0),
					displayid: o.Message.getFieldWithDefault(t, 38, "")
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.User.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User;
				return proto.User.deserializeBinaryFromReader(r, t)
			}, proto.User.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt64();
							e.setId(r);
							break;
						case 2:
							r = t.readInt64();
							e.setShortid(r);
							break;
						case 3:
							r = t.readString();
							e.setNickname(r);
							break;
						case 4:
							r = t.readInt32();
							e.setGender(r);
							break;
						case 5:
							r = t.readString();
							e.setSignature(r);
							break;
						case 6:
							r = t.readInt32();
							e.setLevel(r);
							break;
						case 7:
							r = t.readInt64();
							e.setBirthday(r);
							break;
						case 8:
							r = t.readString();
							e.setTelephone(r);
							break;
						case 9:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setAvatarthumb(r);
							break;
						case 10:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setAvatarmedium(r);
							break;
						case 11:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setAvatarlarge(r);
							break;
						case 12:
							r = t.readBool();
							e.setVerified(r);
							break;
						case 13:
							r = t.readInt32();
							e.setExperience(r);
							break;
						case 14:
							r = t.readString();
							e.setCity(r);
							break;
						case 15:
							r = t.readInt32();
							e.setStatus(r);
							break;
						case 16:
							r = t.readInt64();
							e.setCreatetime(r);
							break;
						case 17:
							r = t.readInt64();
							e.setModifytime(r);
							break;
						case 18:
							r = t.readInt32();
							e.setSecret(r);
							break;
						case 19:
							r = t.readString();
							e.setShareqrcodeuri(r);
							break;
						case 20:
							r = t.readInt32();
							e.setIncomesharepercent(r);
							break;
						case 21:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setBadgeimagelist(
								r);
							break;
						case 22:
							r = new proto.User.FollowInfo;
							t.readMessage(r, proto.User.FollowInfo.deserializeBinaryFromReader), e
								.setFollowinfo(r);
							break;
						case 23:
							r = new proto.User.PayGrade;
							t.readMessage(r, proto.User.PayGrade.deserializeBinaryFromReader), e
								.setPaygrade(r);
							break;
						case 24:
							r = new proto.User.FansClub;
							t.readMessage(r, proto.User.FansClub.deserializeBinaryFromReader), e
								.setFansclub(r);
							break;
						case 25:
							r = new proto.User.Border;
							t.readMessage(r, proto.User.Border.deserializeBinaryFromReader), e.setBorder(r);
							break;
						case 26:
							r = t.readString();
							e.setSpecialid(r);
							break;
						case 27:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setAvatarborder(r);
							break;
						case 28:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setMedal(r);
							break;
						case 29:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.addRealtimeicons(
							r);
							break;
						case 30:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e
								.addNewrealtimeicons(r);
							break;
						case 31:
							r = t.readInt64();
							e.setTopvipno(r);
							break;
						case 32:
							r = new proto.User.UserAttr;
							t.readMessage(r, proto.User.UserAttr.deserializeBinaryFromReader), e
								.setUserattr(r);
							break;
						case 33:
							r = new proto.User.OwnRoom;
							t.readMessage(r, proto.User.OwnRoom.deserializeBinaryFromReader), e.setOwnroom(
								r);
							break;
						case 34:
							r = t.readInt64();
							e.setPayscore(r);
							break;
						case 35:
							r = t.readInt64();
							e.setTicketcount(r);
							break;
						case 36:
							r = new proto.User.AnchorInfo;
							t.readMessage(r, proto.User.AnchorInfo.deserializeBinaryFromReader), e
								.setAnchorinfo(r);
							break;
						case 37:
							r = t.readInt32();
							e.setLinkmicstats(r);
							break;
						case 38:
							r = t.readString();
							e.setDisplayid(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.User.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getId()) && t.writeInt64(1, r), 0 !== (r = e.getShortid()) && t.writeInt64(2,
						r), (r = e.getNickname()).length > 0 && t.writeString(3, r), 0 !== (r = e
					.getGender()) && t.writeInt32(4, r), (r = e.getSignature()).length > 0 && t.writeString(
						5, r), 0 !== (r = e.getLevel()) && t.writeInt32(6, r), 0 !== (r = e
				.getBirthday()) && t.writeInt64(7, r), (r = e.getTelephone()).length > 0 && t.writeString(8,
						r), null != (r = e.getAvatarthumb()) && t.writeMessage(9, r, proto.Image
						.serializeBinaryToWriter), null != (r = e.getAvatarmedium()) && t.writeMessage(10,
						r, proto.Image.serializeBinaryToWriter), null != (r = e.getAvatarlarge()) && t
					.writeMessage(11, r, proto.Image.serializeBinaryToWriter), (r = e.getVerified()) && t
					.writeBool(12, r), 0 !== (r = e.getExperience()) && t.writeInt32(13, r), (r = e
					.getCity()).length > 0 && t.writeString(14, r), 0 !== (r = e.getStatus()) && t
					.writeInt32(15, r), 0 !== (r = e.getCreatetime()) && t.writeInt64(16, r), 0 !== (r = e
						.getModifytime()) && t.writeInt64(17, r), 0 !== (r = e.getSecret()) && t.writeInt32(
						18, r), (r = e.getShareqrcodeuri()).length > 0 && t.writeString(19, r), 0 !== (r = e
						.getIncomesharepercent()) && t.writeInt32(20, r), null != (r = e
					.getBadgeimagelist()) && t.writeMessage(21, r, proto.Image.serializeBinaryToWriter),
					null != (r = e.getFollowinfo()) && t.writeMessage(22, r, proto.User.FollowInfo
						.serializeBinaryToWriter), null != (r = e.getPaygrade()) && t.writeMessage(23, r,
						proto.User.PayGrade.serializeBinaryToWriter), null != (r = e.getFansclub()) && t
					.writeMessage(24, r, proto.User.FansClub.serializeBinaryToWriter), null != (r = e
						.getBorder()) && t.writeMessage(25, r, proto.User.Border.serializeBinaryToWriter), (
						r = e.getSpecialid()).length > 0 && t.writeString(26, r), null != (r = e
						.getAvatarborder()) && t.writeMessage(27, r, proto.Image.serializeBinaryToWriter),
					null != (r = e.getMedal()) && t.writeMessage(28, r, proto.Image
					.serializeBinaryToWriter), (r = e.getRealtimeiconsList()).length > 0 && t
					.writeRepeatedMessage(29, r, proto.Image.serializeBinaryToWriter), (r = e
						.getNewrealtimeiconsList()).length > 0 && t.writeRepeatedMessage(30, r, proto.Image
						.serializeBinaryToWriter), 0 !== (r = e.getTopvipno()) && t.writeInt64(31, r),
					null != (r = e.getUserattr()) && t.writeMessage(32, r, proto.User.UserAttr
						.serializeBinaryToWriter), null != (r = e.getOwnroom()) && t.writeMessage(33, r,
						proto.User.OwnRoom.serializeBinaryToWriter), 0 !== (r = e.getPayscore()) && t
					.writeInt64(34, r), 0 !== (r = e.getTicketcount()) && t.writeInt64(35, r), null != (r =
						e.getAnchorinfo()) && t.writeMessage(36, r, proto.User.AnchorInfo
						.serializeBinaryToWriter), 0 !== (r = e.getLinkmicstats()) && t.writeInt32(37, r), (
						r = e.getDisplayid()).length > 0 && t.writeString(38, r)
			}, o.Message.GENERATE_TO_OBJECT && (proto.User.UserAttr.prototype.toObject = function(e) {
				return proto.User.UserAttr.toObject(e, this)
			}, proto.User.UserAttr.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.User.UserAttr.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.UserAttr;
				return proto.User.UserAttr.deserializeBinaryFromReader(r, t)
			}, proto.User.UserAttr.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.User.UserAttr.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.UserAttr.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.UserAttr.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.User.OwnRoom.prototype.toObject = function(e) {
				return proto.User.OwnRoom.toObject(e, this)
			}, proto.User.OwnRoom.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.User.OwnRoom.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.OwnRoom;
				return proto.User.OwnRoom.deserializeBinaryFromReader(r, t)
			}, proto.User.OwnRoom.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.User.OwnRoom.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.OwnRoom.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.OwnRoom.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.User.AnchorInfo.prototype.toObject = function(e) {
				return proto.User.AnchorInfo.toObject(e, this)
			}, proto.User.AnchorInfo.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.User.AnchorInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.AnchorInfo;
				return proto.User.AnchorInfo.deserializeBinaryFromReader(r, t)
			}, proto.User.AnchorInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.User.AnchorInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.AnchorInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.AnchorInfo.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.User.FollowInfo.prototype.toObject = function(e) {
				return proto.User.FollowInfo.toObject(e, this)
			}, proto.User.FollowInfo.toObject = function(e, t) {
				var r = {
					followingcount: o.Message.getFieldWithDefault(t, 1, 0),
					followercount: o.Message.getFieldWithDefault(t, 2, 0),
					followstatus: o.Message.getFieldWithDefault(t, 3, 0),
					pushstatus: o.Message.getFieldWithDefault(t, 4, 0),
					remarkname: o.Message.getFieldWithDefault(t, 5, "")
				};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.User.FollowInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.FollowInfo;
				return proto.User.FollowInfo.deserializeBinaryFromReader(r, t)
			}, proto.User.FollowInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt64();
							e.setFollowingcount(r);
							break;
						case 2:
							r = t.readInt64();
							e.setFollowercount(r);
							break;
						case 3:
							r = t.readInt64();
							e.setFollowstatus(r);
							break;
						case 4:
							r = t.readInt64();
							e.setPushstatus(r);
							break;
						case 5:
							r = t.readString();
							e.setRemarkname(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.User.FollowInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.FollowInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.FollowInfo.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getFollowingcount()) && t.writeInt64(1, r), 0 !== (r = e.getFollowercount()) &&
					t.writeInt64(2, r), 0 !== (r = e.getFollowstatus()) && t.writeInt64(3, r), 0 !== (r = e
						.getPushstatus()) && t.writeInt64(4, r), (r = e.getRemarkname()).length > 0 && t
					.writeString(5, r)
			}, proto.User.FollowInfo.prototype.getFollowingcount = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.User.FollowInfo.prototype.setFollowingcount = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.User.FollowInfo.prototype.getFollowercount = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.User.FollowInfo.prototype.setFollowercount = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.User.FollowInfo.prototype.getFollowstatus = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.User.FollowInfo.prototype.setFollowstatus = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.User.FollowInfo.prototype.getPushstatus = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.User.FollowInfo.prototype.setPushstatus = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.User.FollowInfo.prototype.getRemarkname = function() {
				return o.Message.getFieldWithDefault(this, 5, "")
			}, proto.User.FollowInfo.prototype.setRemarkname = function(e) {
				return o.Message.setProto3StringField(this, 5, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.User.FansClub.prototype.toObject = function(e) {
				return proto.User.FansClub.toObject(e, this)
			}, proto.User.FansClub.toObject = function(e, t) {
				var r, o = {
					data: (r = t.getData()) && proto.User.FansClub.FansClubData.toObject(e, r),
					preferdataMap: (r = t.getPreferdataMap()) ? r.toObject(e, proto.User.FansClub
						.FansClubData.toObject) : []
				};
				return e && (o.$jspbMessageInstance = t), o
			}), proto.User.FansClub.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.FansClub;
				return proto.User.FansClub.deserializeBinaryFromReader(r, t)
			}, proto.User.FansClub.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.User.FansClub.FansClubData;
							t.readMessage(r, proto.User.FansClub.FansClubData.deserializeBinaryFromReader),
								e.setData(r);
							break;
						case 2:
							r = e.getPreferdataMap();
							t.readMessage(r, function(e, t) {
								o.Map.deserializeBinary(e, t, o.BinaryReader.prototype.readInt32, o
									.BinaryReader.prototype.readMessage, proto.User.FansClub
									.FansClubData.deserializeBinaryFromReader, 0, new proto.User
									.FansClub.FansClubData)
							});
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.User.FansClub.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.FansClub.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.FansClub.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getData()) && t.writeMessage(1, r, proto.User.FansClub.FansClubData
						.serializeBinaryToWriter), (r = e.getPreferdataMap(!0)) && r.getLength() > 0 && r
					.serializeBinary(2, t, o.BinaryWriter.prototype.writeInt32, o.BinaryWriter.prototype
						.writeMessage, proto.User.FansClub.FansClubData.serializeBinaryToWriter)
			}, proto.User.FansClub.FansClubData.repeatedFields_ = [5], o.Message.GENERATE_TO_OBJECT && (
				proto.User.FansClub.FansClubData.prototype.toObject = function(e) {
					return proto.User.FansClub.FansClubData.toObject(e, this)
				}, proto.User.FansClub.FansClubData.toObject = function(e, t) {
					var r, s = {
						clubname: o.Message.getFieldWithDefault(t, 1, ""),
						level: o.Message.getFieldWithDefault(t, 2, 0),
						userfansclubstatus: o.Message.getFieldWithDefault(t, 3, 0),
						badge: (r = t.getBadge()) && proto.User.FansClub.FansClubData.UserBadge
							.toObject(e, r),
						availablegiftidsList: null == (r = o.Message.getRepeatedField(t, 5)) ? void 0 :
							r,
						anchorid: o.Message.getFieldWithDefault(t, 6, 0)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.User.FansClub.FansClubData.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.FansClub.FansClubData;
				return proto.User.FansClub.FansClubData.deserializeBinaryFromReader(r, t)
			}, proto.User.FansClub.FansClubData.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readString();
							e.setClubname(r);
							break;
						case 2:
							r = t.readInt32();
							e.setLevel(r);
							break;
						case 3:
							r = t.readInt32();
							e.setUserfansclubstatus(r);
							break;
						case 4:
							r = new proto.User.FansClub.FansClubData.UserBadge;
							t.readMessage(r, proto.User.FansClub.FansClubData.UserBadge
								.deserializeBinaryFromReader), e.setBadge(r);
							break;
						case 5:
							r = t.readPackedInt64();
							e.setAvailablegiftidsList(r);
							break;
						case 6:
							r = t.readInt64();
							e.setAnchorid(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.User.FansClub.FansClubData.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.FansClub.FansClubData.serializeBinaryToWriter(this, e), e
				.getResultBuffer()
			}, proto.User.FansClub.FansClubData.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getClubname()).length > 0 && t.writeString(1, r), 0 !== (r = e.getLevel()) && t
					.writeInt32(2, r), 0 !== (r = e.getUserfansclubstatus()) && t.writeInt32(3, r), null !=
					(r = e.getBadge()) && t.writeMessage(4, r, proto.User.FansClub.FansClubData.UserBadge
						.serializeBinaryToWriter), (r = e.getAvailablegiftidsList()).length > 0 && t
					.writePackedInt64(5, r), 0 !== (r = e.getAnchorid()) && t.writeInt64(6, r)
			}, o.Message.GENERATE_TO_OBJECT && (proto.User.FansClub.FansClubData.UserBadge.prototype
				.toObject = function(e) {
					return proto.User.FansClub.FansClubData.UserBadge.toObject(e, this)
				}, proto.User.FansClub.FansClubData.UserBadge.toObject = function(e, t) {
					var r, s = {
						iconsMap: (r = t.getIconsMap()) ? r.toObject(e, proto.Image.toObject) : [],
						title: o.Message.getFieldWithDefault(t, 2, "")
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.User.FansClub.FansClubData.UserBadge.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.FansClub.FansClubData.UserBadge;
				return proto.User.FansClub.FansClubData.UserBadge.deserializeBinaryFromReader(r, t)
			}, proto.User.FansClub.FansClubData.UserBadge.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = e.getIconsMap();
							t.readMessage(r, function(e, t) {
								o.Map.deserializeBinary(e, t, o.BinaryReader.prototype.readInt32, o
									.BinaryReader.prototype.readMessage, proto.Image
									.deserializeBinaryFromReader, 0, new proto.Image)
							});
							break;
						case 2:
							r = t.readString();
							e.setTitle(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.User.FansClub.FansClubData.UserBadge.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.FansClub.FansClubData.UserBadge.serializeBinaryToWriter(this, e), e
					.getResultBuffer()
			}, proto.User.FansClub.FansClubData.UserBadge.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getIconsMap(!0)) && r.getLength() > 0 && r.serializeBinary(1, t, o.BinaryWriter
					.prototype.writeInt32, o.BinaryWriter.prototype.writeMessage, proto.Image
					.serializeBinaryToWriter), (r = e.getTitle()).length > 0 && t.writeString(2, r)
			}, proto.User.FansClub.FansClubData.UserBadge.prototype.getIconsMap = function(e) {
				return o.Message.getMapField(this, 1, e, proto.Image)
			}, proto.User.FansClub.FansClubData.UserBadge.prototype.clearIconsMap = function() {
				return this.getIconsMap().clear(), this
			}, proto.User.FansClub.FansClubData.UserBadge.prototype.getTitle = function() {
				return o.Message.getFieldWithDefault(this, 2, "")
			}, proto.User.FansClub.FansClubData.UserBadge.prototype.setTitle = function(e) {
				return o.Message.setProto3StringField(this, 2, e)
			}, proto.User.FansClub.FansClubData.prototype.getClubname = function() {
				return o.Message.getFieldWithDefault(this, 1, "")
			}, proto.User.FansClub.FansClubData.prototype.setClubname = function(e) {
				return o.Message.setProto3StringField(this, 1, e)
			}, proto.User.FansClub.FansClubData.prototype.getLevel = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.User.FansClub.FansClubData.prototype.setLevel = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.User.FansClub.FansClubData.prototype.getUserfansclubstatus = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.User.FansClub.FansClubData.prototype.setUserfansclubstatus = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.User.FansClub.FansClubData.prototype.getBadge = function() {
				return o.Message.getWrapperField(this, proto.User.FansClub.FansClubData.UserBadge, 4)
			}, proto.User.FansClub.FansClubData.prototype.setBadge = function(e) {
				return o.Message.setWrapperField(this, 4, e)
			}, proto.User.FansClub.FansClubData.prototype.clearBadge = function() {
				return this.setBadge(void 0)
			}, proto.User.FansClub.FansClubData.prototype.hasBadge = function() {
				return null != o.Message.getField(this, 4)
			}, proto.User.FansClub.FansClubData.prototype.getAvailablegiftidsList = function() {
				return o.Message.getRepeatedField(this, 5)
			}, proto.User.FansClub.FansClubData.prototype.setAvailablegiftidsList = function(e) {
				return o.Message.setField(this, 5, e || [])
			}, proto.User.FansClub.FansClubData.prototype.addAvailablegiftids = function(e, t) {
				return o.Message.addToRepeatedField(this, 5, e, t)
			}, proto.User.FansClub.FansClubData.prototype.clearAvailablegiftidsList = function() {
				return this.setAvailablegiftidsList([])
			}, proto.User.FansClub.FansClubData.prototype.getAnchorid = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.User.FansClub.FansClubData.prototype.setAnchorid = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.User.FansClub.prototype.getData = function() {
				return o.Message.getWrapperField(this, proto.User.FansClub.FansClubData, 1)
			}, proto.User.FansClub.prototype.setData = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.User.FansClub.prototype.clearData = function() {
				return this.setData(void 0)
			}, proto.User.FansClub.prototype.hasData = function() {
				return null != o.Message.getField(this, 1)
			}, proto.User.FansClub.prototype.getPreferdataMap = function(e) {
				return o.Message.getMapField(this, 2, e, proto.User.FansClub.FansClubData)
			}, proto.User.FansClub.prototype.clearPreferdataMap = function() {
				return this.getPreferdataMap().clear(), this
			}, o.Message.GENERATE_TO_OBJECT && (proto.User.Border.prototype.toObject = function(e) {
				return proto.User.Border.toObject(e, this)
			}, proto.User.Border.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.User.Border.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.Border;
				return proto.User.Border.deserializeBinaryFromReader(r, t)
			}, proto.User.Border.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.User.Border.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.Border.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.Border.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.User.GradeBuffInfo.prototype.toObject = function(e) {
				return proto.User.GradeBuffInfo.toObject(e, this)
			}, proto.User.GradeBuffInfo.toObject = function(e, t) {
				var r, s = {
					bufflevel: o.Message.getFieldWithDefault(t, 1, 0),
					status: o.Message.getFieldWithDefault(t, 2, 0),
					endtime: o.Message.getFieldWithDefault(t, 3, 0),
					statsinfoMap: (r = t.getStatsinfoMap()) ? r.toObject(e, void 0) : [],
					buffbadge: (r = t.getBuffbadge()) && proto.Image.toObject(e, r)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.User.GradeBuffInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.GradeBuffInfo;
				return proto.User.GradeBuffInfo.deserializeBinaryFromReader(r, t)
			}, proto.User.GradeBuffInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt64();
							e.setBufflevel(r);
							break;
						case 2:
							r = t.readInt32();
							e.setStatus(r);
							break;
						case 3:
							r = t.readInt64();
							e.setEndtime(r);
							break;
						case 4:
							r = e.getStatsinfoMap();
							t.readMessage(r, function(e, t) {
								o.Map.deserializeBinary(e, t, o.BinaryReader.prototype.readInt64, o
									.BinaryReader.prototype.readInt64, null, 0, 0)
							});
							break;
						case 5:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setBuffbadge(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.User.GradeBuffInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.GradeBuffInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.GradeBuffInfo.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getBufflevel()) && t.writeInt64(1, r), 0 !== (r = e.getStatus()) && t
					.writeInt32(2, r), 0 !== (r = e.getEndtime()) && t.writeInt64(3, r), (r = e
						.getStatsinfoMap(!0)) && r.getLength() > 0 && r.serializeBinary(4, t, o.BinaryWriter
						.prototype.writeInt64, o.BinaryWriter.prototype.writeInt64), null != (r = e
						.getBuffbadge()) && t.writeMessage(5, r, proto.Image.serializeBinaryToWriter)
			}, proto.User.GradeBuffInfo.prototype.getBufflevel = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.User.GradeBuffInfo.prototype.setBufflevel = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.User.GradeBuffInfo.prototype.getStatus = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.User.GradeBuffInfo.prototype.setStatus = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.User.GradeBuffInfo.prototype.getEndtime = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.User.GradeBuffInfo.prototype.setEndtime = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.User.GradeBuffInfo.prototype.getStatsinfoMap = function(e) {
				return o.Message.getMapField(this, 4, e, null)
			}, proto.User.GradeBuffInfo.prototype.clearStatsinfoMap = function() {
				return this.getStatsinfoMap().clear(), this
			}, proto.User.GradeBuffInfo.prototype.getBuffbadge = function() {
				return o.Message.getWrapperField(this, proto.Image, 5)
			}, proto.User.GradeBuffInfo.prototype.setBuffbadge = function(e) {
				return o.Message.setWrapperField(this, 5, e)
			}, proto.User.GradeBuffInfo.prototype.clearBuffbadge = function() {
				return this.setBuffbadge(void 0)
			}, proto.User.GradeBuffInfo.prototype.hasBuffbadge = function() {
				return null != o.Message.getField(this, 5)
			}, proto.User.PayGrade.repeatedFields_ = [14], o.Message.GENERATE_TO_OBJECT && (proto.User
				.PayGrade.prototype.toObject = function(e) {
					return proto.User.PayGrade.toObject(e, this)
				}, proto.User.PayGrade.toObject = function(e, t) {
					var r, s = {
						totaldiamondcount: o.Message.getFieldWithDefault(t, 1, 0),
						diamondicon: (r = t.getDiamondicon()) && proto.Image.toObject(e, r),
						name: o.Message.getFieldWithDefault(t, 3, ""),
						icon: (r = t.getIcon()) && proto.Image.toObject(e, r),
						nextname: o.Message.getFieldWithDefault(t, 5, ""),
						level: o.Message.getFieldWithDefault(t, 6, 0),
						nexticon: (r = t.getNexticon()) && proto.Image.toObject(e, r),
						nextdiamond: o.Message.getFieldWithDefault(t, 8, 0),
						nowdiamond: o.Message.getFieldWithDefault(t, 9, 0),
						thisgrademindiamond: o.Message.getFieldWithDefault(t, 10, 0),
						thisgrademaxdiamond: o.Message.getFieldWithDefault(t, 11, 0),
						paydiamondbak: o.Message.getFieldWithDefault(t, 12, 0),
						gradedescribe: o.Message.getFieldWithDefault(t, 13, ""),
						gradeiconlistList: o.Message.toObjectList(t.getGradeiconlistList(), proto.User
							.PayGrade.GradeIcon.toObject, e),
						screenchattype: o.Message.getFieldWithDefault(t, 15, 0),
						imicon: (r = t.getImicon()) && proto.Image.toObject(e, r),
						imiconwithlevel: (r = t.getImiconwithlevel()) && proto.Image.toObject(e, r),
						liveicon: (r = t.getLiveicon()) && proto.Image.toObject(e, r),
						newimiconwithlevel: (r = t.getNewimiconwithlevel()) && proto.Image.toObject(e,
							r),
						newliveicon: (r = t.getNewliveicon()) && proto.Image.toObject(e, r),
						upgradeneedconsume: o.Message.getFieldWithDefault(t, 21, 0),
						nextprivileges: o.Message.getFieldWithDefault(t, 22, ""),
						background: (r = t.getBackground()) && proto.Image.toObject(e, r),
						backgroundback: (r = t.getBackgroundback()) && proto.Image.toObject(e, r),
						score: o.Message.getFieldWithDefault(t, 25, 0),
						buffinfo: (r = t.getBuffinfo()) && proto.User.GradeBuffInfo.toObject(e, r),
						gradebanner: o.Message.getFieldWithDefault(t, 1001, ""),
						profiledialogbg: (r = t.getProfiledialogbg()) && proto.Image.toObject(e, r),
						profiledialogbgback: (r = t.getProfiledialogbgback()) && proto.Image.toObject(e,
							r)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.User.PayGrade.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.PayGrade;
				return proto.User.PayGrade.deserializeBinaryFromReader(r, t)
			}, proto.User.PayGrade.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt64();
							e.setTotaldiamondcount(r);
							break;
						case 2:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setDiamondicon(r);
							break;
						case 3:
							r = t.readString();
							e.setName(r);
							break;
						case 4:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setIcon(r);
							break;
						case 5:
							r = t.readString();
							e.setNextname(r);
							break;
						case 6:
							r = t.readInt64();
							e.setLevel(r);
							break;
						case 7:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setNexticon(r);
							break;
						case 8:
							r = t.readInt64();
							e.setNextdiamond(r);
							break;
						case 9:
							r = t.readInt64();
							e.setNowdiamond(r);
							break;
						case 10:
							r = t.readInt64();
							e.setThisgrademindiamond(r);
							break;
						case 11:
							r = t.readInt64();
							e.setThisgrademaxdiamond(r);
							break;
						case 12:
							r = t.readInt64();
							e.setPaydiamondbak(r);
							break;
						case 13:
							r = t.readString();
							e.setGradedescribe(r);
							break;
						case 14:
							r = new proto.User.PayGrade.GradeIcon;
							t.readMessage(r, proto.User.PayGrade.GradeIcon.deserializeBinaryFromReader), e
								.addGradeiconlist(r);
							break;
						case 15:
							r = t.readInt64();
							e.setScreenchattype(r);
							break;
						case 16:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setImicon(r);
							break;
						case 17:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setImiconwithlevel(
								r);
							break;
						case 18:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setLiveicon(r);
							break;
						case 19:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e
								.setNewimiconwithlevel(r);
							break;
						case 20:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setNewliveicon(r);
							break;
						case 21:
							r = t.readInt64();
							e.setUpgradeneedconsume(r);
							break;
						case 22:
							r = t.readString();
							e.setNextprivileges(r);
							break;
						case 23:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setBackground(r);
							break;
						case 24:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setBackgroundback(
								r);
							break;
						case 25:
							r = t.readInt64();
							e.setScore(r);
							break;
						case 26:
							r = new proto.User.GradeBuffInfo;
							t.readMessage(r, proto.User.GradeBuffInfo.deserializeBinaryFromReader), e
								.setBuffinfo(r);
							break;
						case 1001:
							r = t.readString();
							e.setGradebanner(r);
							break;
						case 1002:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setProfiledialogbg(
								r);
							break;
						case 1003:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e
								.setProfiledialogbgback(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.User.PayGrade.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.PayGrade.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.PayGrade.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getTotaldiamondcount()) && t.writeInt64(1, r), null != (r = e
				.getDiamondicon()) && t.writeMessage(2, r, proto.Image.serializeBinaryToWriter), (r = e
						.getName()).length > 0 && t.writeString(3, r), null != (r = e.getIcon()) && t
					.writeMessage(4, r, proto.Image.serializeBinaryToWriter), (r = e.getNextname()).length >
					0 && t.writeString(5, r), 0 !== (r = e.getLevel()) && t.writeInt64(6, r), null != (r = e
						.getNexticon()) && t.writeMessage(7, r, proto.Image.serializeBinaryToWriter), 0 !==
					(r = e.getNextdiamond()) && t.writeInt64(8, r), 0 !== (r = e.getNowdiamond()) && t
					.writeInt64(9, r), 0 !== (r = e.getThisgrademindiamond()) && t.writeInt64(10, r), 0 !==
					(r = e.getThisgrademaxdiamond()) && t.writeInt64(11, r), 0 !== (r = e
					.getPaydiamondbak()) && t.writeInt64(12, r), (r = e.getGradedescribe()).length > 0 && t
					.writeString(13, r), (r = e.getGradeiconlistList()).length > 0 && t
					.writeRepeatedMessage(14, r, proto.User.PayGrade.GradeIcon.serializeBinaryToWriter),
					0 !== (r = e.getScreenchattype()) && t.writeInt64(15, r), null != (r = e.getImicon()) &&
					t.writeMessage(16, r, proto.Image.serializeBinaryToWriter), null != (r = e
						.getImiconwithlevel()) && t.writeMessage(17, r, proto.Image
					.serializeBinaryToWriter), null != (r = e.getLiveicon()) && t.writeMessage(18, r, proto
						.Image.serializeBinaryToWriter), null != (r = e.getNewimiconwithlevel()) && t
					.writeMessage(19, r, proto.Image.serializeBinaryToWriter), null != (r = e
						.getNewliveicon()) && t.writeMessage(20, r, proto.Image.serializeBinaryToWriter),
					0 !== (r = e.getUpgradeneedconsume()) && t.writeInt64(21, r), (r = e
					.getNextprivileges()).length > 0 && t.writeString(22, r), null != (r = e
					.getBackground()) && t.writeMessage(23, r, proto.Image.serializeBinaryToWriter), null !=
					(r = e.getBackgroundback()) && t.writeMessage(24, r, proto.Image
						.serializeBinaryToWriter), 0 !== (r = e.getScore()) && t.writeInt64(25, r), null !=
					(r = e.getBuffinfo()) && t.writeMessage(26, r, proto.User.GradeBuffInfo
						.serializeBinaryToWriter), (r = e.getGradebanner()).length > 0 && t.writeString(
						1001, r), null != (r = e.getProfiledialogbg()) && t.writeMessage(1002, r, proto
						.Image.serializeBinaryToWriter), null != (r = e.getProfiledialogbgback()) && t
					.writeMessage(1003, r, proto.Image.serializeBinaryToWriter)
			}, o.Message.GENERATE_TO_OBJECT && (proto.User.PayGrade.GradeIcon.prototype.toObject = function(
				e) {
				return proto.User.PayGrade.GradeIcon.toObject(e, this)
			}, proto.User.PayGrade.GradeIcon.toObject = function(e, t) {
				var r, s = {
					icon: (r = t.getIcon()) && proto.Image.toObject(e, r),
					icondiamond: o.Message.getFieldWithDefault(t, 2, 0),
					level: o.Message.getFieldWithDefault(t, 3, 0),
					levelstr: o.Message.getFieldWithDefault(t, 4, "")
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.User.PayGrade.GradeIcon.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.User.PayGrade.GradeIcon;
				return proto.User.PayGrade.GradeIcon.deserializeBinaryFromReader(r, t)
			}, proto.User.PayGrade.GradeIcon.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setIcon(r);
							break;
						case 2:
							r = t.readInt64();
							e.setIcondiamond(r);
							break;
						case 3:
							r = t.readInt64();
							e.setLevel(r);
							break;
						case 4:
							r = t.readString();
							e.setLevelstr(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.User.PayGrade.GradeIcon.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.User.PayGrade.GradeIcon.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.User.PayGrade.GradeIcon.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getIcon()) && t.writeMessage(1, r, proto.Image.serializeBinaryToWriter),
					0 !== (r = e.getIcondiamond()) && t.writeInt64(2, r), 0 !== (r = e.getLevel()) && t
					.writeInt64(3, r), (r = e.getLevelstr()).length > 0 && t.writeString(4, r)
			}, proto.User.PayGrade.GradeIcon.prototype.getIcon = function() {
				return o.Message.getWrapperField(this, proto.Image, 1)
			}, proto.User.PayGrade.GradeIcon.prototype.setIcon = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.User.PayGrade.GradeIcon.prototype.clearIcon = function() {
				return this.setIcon(void 0)
			}, proto.User.PayGrade.GradeIcon.prototype.hasIcon = function() {
				return null != o.Message.getField(this, 1)
			}, proto.User.PayGrade.GradeIcon.prototype.getIcondiamond = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.User.PayGrade.GradeIcon.prototype.setIcondiamond = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.User.PayGrade.GradeIcon.prototype.getLevel = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.User.PayGrade.GradeIcon.prototype.setLevel = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.User.PayGrade.GradeIcon.prototype.getLevelstr = function() {
				return o.Message.getFieldWithDefault(this, 4, "")
			}, proto.User.PayGrade.GradeIcon.prototype.setLevelstr = function(e) {
				return o.Message.setProto3StringField(this, 4, e)
			}, proto.User.PayGrade.prototype.getTotaldiamondcount = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.User.PayGrade.prototype.setTotaldiamondcount = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.User.PayGrade.prototype.getDiamondicon = function() {
				return o.Message.getWrapperField(this, proto.Image, 2)
			}, proto.User.PayGrade.prototype.setDiamondicon = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.User.PayGrade.prototype.clearDiamondicon = function() {
				return this.setDiamondicon(void 0)
			}, proto.User.PayGrade.prototype.hasDiamondicon = function() {
				return null != o.Message.getField(this, 2)
			}, proto.User.PayGrade.prototype.getName = function() {
				return o.Message.getFieldWithDefault(this, 3, "")
			}, proto.User.PayGrade.prototype.setName = function(e) {
				return o.Message.setProto3StringField(this, 3, e)
			}, proto.User.PayGrade.prototype.getIcon = function() {
				return o.Message.getWrapperField(this, proto.Image, 4)
			}, proto.User.PayGrade.prototype.setIcon = function(e) {
				return o.Message.setWrapperField(this, 4, e)
			}, proto.User.PayGrade.prototype.clearIcon = function() {
				return this.setIcon(void 0)
			}, proto.User.PayGrade.prototype.hasIcon = function() {
				return null != o.Message.getField(this, 4)
			}, proto.User.PayGrade.prototype.getNextname = function() {
				return o.Message.getFieldWithDefault(this, 5, "")
			}, proto.User.PayGrade.prototype.setNextname = function(e) {
				return o.Message.setProto3StringField(this, 5, e)
			}, proto.User.PayGrade.prototype.getLevel = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.User.PayGrade.prototype.setLevel = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.User.PayGrade.prototype.getNexticon = function() {
				return o.Message.getWrapperField(this, proto.Image, 7)
			}, proto.User.PayGrade.prototype.setNexticon = function(e) {
				return o.Message.setWrapperField(this, 7, e)
			}, proto.User.PayGrade.prototype.clearNexticon = function() {
				return this.setNexticon(void 0)
			}, proto.User.PayGrade.prototype.hasNexticon = function() {
				return null != o.Message.getField(this, 7)
			}, proto.User.PayGrade.prototype.getNextdiamond = function() {
				return o.Message.getFieldWithDefault(this, 8, 0)
			}, proto.User.PayGrade.prototype.setNextdiamond = function(e) {
				return o.Message.setProto3IntField(this, 8, e)
			}, proto.User.PayGrade.prototype.getNowdiamond = function() {
				return o.Message.getFieldWithDefault(this, 9, 0)
			}, proto.User.PayGrade.prototype.setNowdiamond = function(e) {
				return o.Message.setProto3IntField(this, 9, e)
			}, proto.User.PayGrade.prototype.getThisgrademindiamond = function() {
				return o.Message.getFieldWithDefault(this, 10, 0)
			}, proto.User.PayGrade.prototype.setThisgrademindiamond = function(e) {
				return o.Message.setProto3IntField(this, 10, e)
			}, proto.User.PayGrade.prototype.getThisgrademaxdiamond = function() {
				return o.Message.getFieldWithDefault(this, 11, 0)
			}, proto.User.PayGrade.prototype.setThisgrademaxdiamond = function(e) {
				return o.Message.setProto3IntField(this, 11, e)
			}, proto.User.PayGrade.prototype.getPaydiamondbak = function() {
				return o.Message.getFieldWithDefault(this, 12, 0)
			}, proto.User.PayGrade.prototype.setPaydiamondbak = function(e) {
				return o.Message.setProto3IntField(this, 12, e)
			}, proto.User.PayGrade.prototype.getGradedescribe = function() {
				return o.Message.getFieldWithDefault(this, 13, "")
			}, proto.User.PayGrade.prototype.setGradedescribe = function(e) {
				return o.Message.setProto3StringField(this, 13, e)
			}, proto.User.PayGrade.prototype.getGradeiconlistList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.User.PayGrade.GradeIcon, 14)
			}, proto.User.PayGrade.prototype.setGradeiconlistList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 14, e)
			}, proto.User.PayGrade.prototype.addGradeiconlist = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 14, e, proto.User.PayGrade.GradeIcon, t)
			}, proto.User.PayGrade.prototype.clearGradeiconlistList = function() {
				return this.setGradeiconlistList([])
			}, proto.User.PayGrade.prototype.getScreenchattype = function() {
				return o.Message.getFieldWithDefault(this, 15, 0)
			}, proto.User.PayGrade.prototype.setScreenchattype = function(e) {
				return o.Message.setProto3IntField(this, 15, e)
			}, proto.User.PayGrade.prototype.getImicon = function() {
				return o.Message.getWrapperField(this, proto.Image, 16)
			}, proto.User.PayGrade.prototype.setImicon = function(e) {
				return o.Message.setWrapperField(this, 16, e)
			}, proto.User.PayGrade.prototype.clearImicon = function() {
				return this.setImicon(void 0)
			}, proto.User.PayGrade.prototype.hasImicon = function() {
				return null != o.Message.getField(this, 16)
			}, proto.User.PayGrade.prototype.getImiconwithlevel = function() {
				return o.Message.getWrapperField(this, proto.Image, 17)
			}, proto.User.PayGrade.prototype.setImiconwithlevel = function(e) {
				return o.Message.setWrapperField(this, 17, e)
			}, proto.User.PayGrade.prototype.clearImiconwithlevel = function() {
				return this.setImiconwithlevel(void 0)
			}, proto.User.PayGrade.prototype.hasImiconwithlevel = function() {
				return null != o.Message.getField(this, 17)
			}, proto.User.PayGrade.prototype.getLiveicon = function() {
				return o.Message.getWrapperField(this, proto.Image, 18)
			}, proto.User.PayGrade.prototype.setLiveicon = function(e) {
				return o.Message.setWrapperField(this, 18, e)
			}, proto.User.PayGrade.prototype.clearLiveicon = function() {
				return this.setLiveicon(void 0)
			}, proto.User.PayGrade.prototype.hasLiveicon = function() {
				return null != o.Message.getField(this, 18)
			}, proto.User.PayGrade.prototype.getNewimiconwithlevel = function() {
				return o.Message.getWrapperField(this, proto.Image, 19)
			}, proto.User.PayGrade.prototype.setNewimiconwithlevel = function(e) {
				return o.Message.setWrapperField(this, 19, e)
			}, proto.User.PayGrade.prototype.clearNewimiconwithlevel = function() {
				return this.setNewimiconwithlevel(void 0)
			}, proto.User.PayGrade.prototype.hasNewimiconwithlevel = function() {
				return null != o.Message.getField(this, 19)
			}, proto.User.PayGrade.prototype.getNewliveicon = function() {
				return o.Message.getWrapperField(this, proto.Image, 20)
			}, proto.User.PayGrade.prototype.setNewliveicon = function(e) {
				return o.Message.setWrapperField(this, 20, e)
			}, proto.User.PayGrade.prototype.clearNewliveicon = function() {
				return this.setNewliveicon(void 0)
			}, proto.User.PayGrade.prototype.hasNewliveicon = function() {
				return null != o.Message.getField(this, 20)
			}, proto.User.PayGrade.prototype.getUpgradeneedconsume = function() {
				return o.Message.getFieldWithDefault(this, 21, 0)
			}, proto.User.PayGrade.prototype.setUpgradeneedconsume = function(e) {
				return o.Message.setProto3IntField(this, 21, e)
			}, proto.User.PayGrade.prototype.getNextprivileges = function() {
				return o.Message.getFieldWithDefault(this, 22, "")
			}, proto.User.PayGrade.prototype.setNextprivileges = function(e) {
				return o.Message.setProto3StringField(this, 22, e)
			}, proto.User.PayGrade.prototype.getBackground = function() {
				return o.Message.getWrapperField(this, proto.Image, 23)
			}, proto.User.PayGrade.prototype.setBackground = function(e) {
				return o.Message.setWrapperField(this, 23, e)
			}, proto.User.PayGrade.prototype.clearBackground = function() {
				return this.setBackground(void 0)
			}, proto.User.PayGrade.prototype.hasBackground = function() {
				return null != o.Message.getField(this, 23)
			}, proto.User.PayGrade.prototype.getBackgroundback = function() {
				return o.Message.getWrapperField(this, proto.Image, 24)
			}, proto.User.PayGrade.prototype.setBackgroundback = function(e) {
				return o.Message.setWrapperField(this, 24, e)
			}, proto.User.PayGrade.prototype.clearBackgroundback = function() {
				return this.setBackgroundback(void 0)
			}, proto.User.PayGrade.prototype.hasBackgroundback = function() {
				return null != o.Message.getField(this, 24)
			}, proto.User.PayGrade.prototype.getScore = function() {
				return o.Message.getFieldWithDefault(this, 25, 0)
			}, proto.User.PayGrade.prototype.setScore = function(e) {
				return o.Message.setProto3IntField(this, 25, e)
			}, proto.User.PayGrade.prototype.getBuffinfo = function() {
				return o.Message.getWrapperField(this, proto.User.GradeBuffInfo, 26)
			}, proto.User.PayGrade.prototype.setBuffinfo = function(e) {
				return o.Message.setWrapperField(this, 26, e)
			}, proto.User.PayGrade.prototype.clearBuffinfo = function() {
				return this.setBuffinfo(void 0)
			}, proto.User.PayGrade.prototype.hasBuffinfo = function() {
				return null != o.Message.getField(this, 26)
			}, proto.User.PayGrade.prototype.getGradebanner = function() {
				return o.Message.getFieldWithDefault(this, 1001, "")
			}, proto.User.PayGrade.prototype.setGradebanner = function(e) {
				return o.Message.setProto3StringField(this, 1001, e)
			}, proto.User.PayGrade.prototype.getProfiledialogbg = function() {
				return o.Message.getWrapperField(this, proto.Image, 1002)
			}, proto.User.PayGrade.prototype.setProfiledialogbg = function(e) {
				return o.Message.setWrapperField(this, 1002, e)
			}, proto.User.PayGrade.prototype.clearProfiledialogbg = function() {
				return this.setProfiledialogbg(void 0)
			}, proto.User.PayGrade.prototype.hasProfiledialogbg = function() {
				return null != o.Message.getField(this, 1002)
			}, proto.User.PayGrade.prototype.getProfiledialogbgback = function() {
				return o.Message.getWrapperField(this, proto.Image, 1003)
			}, proto.User.PayGrade.prototype.setProfiledialogbgback = function(e) {
				return o.Message.setWrapperField(this, 1003, e)
			}, proto.User.PayGrade.prototype.clearProfiledialogbgback = function() {
				return this.setProfiledialogbgback(void 0)
			}, proto.User.PayGrade.prototype.hasProfiledialogbgback = function() {
				return null != o.Message.getField(this, 1003)
			}, proto.User.prototype.getId = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.User.prototype.setId = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.User.prototype.getShortid = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.User.prototype.setShortid = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.User.prototype.getNickname = function() {
				return o.Message.getFieldWithDefault(this, 3, "")
			}, proto.User.prototype.setNickname = function(e) {
				return o.Message.setProto3StringField(this, 3, e)
			}, proto.User.prototype.getGender = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.User.prototype.setGender = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.User.prototype.getSignature = function() {
				return o.Message.getFieldWithDefault(this, 5, "")
			}, proto.User.prototype.setSignature = function(e) {
				return o.Message.setProto3StringField(this, 5, e)
			}, proto.User.prototype.getLevel = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.User.prototype.setLevel = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.User.prototype.getBirthday = function() {
				return o.Message.getFieldWithDefault(this, 7, 0)
			}, proto.User.prototype.setBirthday = function(e) {
				return o.Message.setProto3IntField(this, 7, e)
			}, proto.User.prototype.getTelephone = function() {
				return o.Message.getFieldWithDefault(this, 8, "")
			}, proto.User.prototype.setTelephone = function(e) {
				return o.Message.setProto3StringField(this, 8, e)
			}, proto.User.prototype.getAvatarthumb = function() {
				return o.Message.getWrapperField(this, proto.Image, 9)
			}, proto.User.prototype.setAvatarthumb = function(e) {
				return o.Message.setWrapperField(this, 9, e)
			}, proto.User.prototype.clearAvatarthumb = function() {
				return this.setAvatarthumb(void 0)
			}, proto.User.prototype.hasAvatarthumb = function() {
				return null != o.Message.getField(this, 9)
			}, proto.User.prototype.getAvatarmedium = function() {
				return o.Message.getWrapperField(this, proto.Image, 10)
			}, proto.User.prototype.setAvatarmedium = function(e) {
				return o.Message.setWrapperField(this, 10, e)
			}, proto.User.prototype.clearAvatarmedium = function() {
				return this.setAvatarmedium(void 0)
			}, proto.User.prototype.hasAvatarmedium = function() {
				return null != o.Message.getField(this, 10)
			}, proto.User.prototype.getAvatarlarge = function() {
				return o.Message.getWrapperField(this, proto.Image, 11)
			}, proto.User.prototype.setAvatarlarge = function(e) {
				return o.Message.setWrapperField(this, 11, e)
			}, proto.User.prototype.clearAvatarlarge = function() {
				return this.setAvatarlarge(void 0)
			}, proto.User.prototype.hasAvatarlarge = function() {
				return null != o.Message.getField(this, 11)
			}, proto.User.prototype.getVerified = function() {
				return o.Message.getBooleanFieldWithDefault(this, 12, !1)
			}, proto.User.prototype.setVerified = function(e) {
				return o.Message.setProto3BooleanField(this, 12, e)
			}, proto.User.prototype.getExperience = function() {
				return o.Message.getFieldWithDefault(this, 13, 0)
			}, proto.User.prototype.setExperience = function(e) {
				return o.Message.setProto3IntField(this, 13, e)
			}, proto.User.prototype.getCity = function() {
				return o.Message.getFieldWithDefault(this, 14, "")
			}, proto.User.prototype.setCity = function(e) {
				return o.Message.setProto3StringField(this, 14, e)
			}, proto.User.prototype.getStatus = function() {
				return o.Message.getFieldWithDefault(this, 15, 0)
			}, proto.User.prototype.setStatus = function(e) {
				return o.Message.setProto3IntField(this, 15, e)
			}, proto.User.prototype.getCreatetime = function() {
				return o.Message.getFieldWithDefault(this, 16, 0)
			}, proto.User.prototype.setCreatetime = function(e) {
				return o.Message.setProto3IntField(this, 16, e)
			}, proto.User.prototype.getModifytime = function() {
				return o.Message.getFieldWithDefault(this, 17, 0)
			}, proto.User.prototype.setModifytime = function(e) {
				return o.Message.setProto3IntField(this, 17, e)
			}, proto.User.prototype.getSecret = function() {
				return o.Message.getFieldWithDefault(this, 18, 0)
			}, proto.User.prototype.setSecret = function(e) {
				return o.Message.setProto3IntField(this, 18, e)
			}, proto.User.prototype.getShareqrcodeuri = function() {
				return o.Message.getFieldWithDefault(this, 19, "")
			}, proto.User.prototype.setShareqrcodeuri = function(e) {
				return o.Message.setProto3StringField(this, 19, e)
			}, proto.User.prototype.getIncomesharepercent = function() {
				return o.Message.getFieldWithDefault(this, 20, 0)
			}, proto.User.prototype.setIncomesharepercent = function(e) {
				return o.Message.setProto3IntField(this, 20, e)
			}, proto.User.prototype.getBadgeimagelist = function() {
				return o.Message.getWrapperField(this, proto.Image, 21)
			}, proto.User.prototype.setBadgeimagelist = function(e) {
				return o.Message.setWrapperField(this, 21, e)
			}, proto.User.prototype.clearBadgeimagelist = function() {
				return this.setBadgeimagelist(void 0)
			}, proto.User.prototype.hasBadgeimagelist = function() {
				return null != o.Message.getField(this, 21)
			}, proto.User.prototype.getFollowinfo = function() {
				return o.Message.getWrapperField(this, proto.User.FollowInfo, 22)
			}, proto.User.prototype.setFollowinfo = function(e) {
				return o.Message.setWrapperField(this, 22, e)
			}, proto.User.prototype.clearFollowinfo = function() {
				return this.setFollowinfo(void 0)
			}, proto.User.prototype.hasFollowinfo = function() {
				return null != o.Message.getField(this, 22)
			}, proto.User.prototype.getPaygrade = function() {
				return o.Message.getWrapperField(this, proto.User.PayGrade, 23)
			}, proto.User.prototype.setPaygrade = function(e) {
				return o.Message.setWrapperField(this, 23, e)
			}, proto.User.prototype.clearPaygrade = function() {
				return this.setPaygrade(void 0)
			}, proto.User.prototype.hasPaygrade = function() {
				return null != o.Message.getField(this, 23)
			}, proto.User.prototype.getFansclub = function() {
				return o.Message.getWrapperField(this, proto.User.FansClub, 24)
			}, proto.User.prototype.setFansclub = function(e) {
				return o.Message.setWrapperField(this, 24, e)
			}, proto.User.prototype.clearFansclub = function() {
				return this.setFansclub(void 0)
			}, proto.User.prototype.hasFansclub = function() {
				return null != o.Message.getField(this, 24)
			}, proto.User.prototype.getBorder = function() {
				return o.Message.getWrapperField(this, proto.User.Border, 25)
			}, proto.User.prototype.setBorder = function(e) {
				return o.Message.setWrapperField(this, 25, e)
			}, proto.User.prototype.clearBorder = function() {
				return this.setBorder(void 0)
			}, proto.User.prototype.hasBorder = function() {
				return null != o.Message.getField(this, 25)
			}, proto.User.prototype.getSpecialid = function() {
				return o.Message.getFieldWithDefault(this, 26, "")
			}, proto.User.prototype.setSpecialid = function(e) {
				return o.Message.setProto3StringField(this, 26, e)
			}, proto.User.prototype.getAvatarborder = function() {
				return o.Message.getWrapperField(this, proto.Image, 27)
			}, proto.User.prototype.setAvatarborder = function(e) {
				return o.Message.setWrapperField(this, 27, e)
			}, proto.User.prototype.clearAvatarborder = function() {
				return this.setAvatarborder(void 0)
			}, proto.User.prototype.hasAvatarborder = function() {
				return null != o.Message.getField(this, 27)
			}, proto.User.prototype.getMedal = function() {
				return o.Message.getWrapperField(this, proto.Image, 28)
			}, proto.User.prototype.setMedal = function(e) {
				return o.Message.setWrapperField(this, 28, e)
			}, proto.User.prototype.clearMedal = function() {
				return this.setMedal(void 0)
			}, proto.User.prototype.hasMedal = function() {
				return null != o.Message.getField(this, 28)
			}, proto.User.prototype.getRealtimeiconsList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.Image, 29)
			}, proto.User.prototype.setRealtimeiconsList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 29, e)
			}, proto.User.prototype.addRealtimeicons = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 29, e, proto.Image, t)
			}, proto.User.prototype.clearRealtimeiconsList = function() {
				return this.setRealtimeiconsList([])
			}, proto.User.prototype.getNewrealtimeiconsList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.Image, 30)
			}, proto.User.prototype.setNewrealtimeiconsList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 30, e)
			}, proto.User.prototype.addNewrealtimeicons = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 30, e, proto.Image, t)
			}, proto.User.prototype.clearNewrealtimeiconsList = function() {
				return this.setNewrealtimeiconsList([])
			}, proto.User.prototype.getTopvipno = function() {
				return o.Message.getFieldWithDefault(this, 31, 0)
			}, proto.User.prototype.setTopvipno = function(e) {
				return o.Message.setProto3IntField(this, 31, e)
			}, proto.User.prototype.getUserattr = function() {
				return o.Message.getWrapperField(this, proto.User.UserAttr, 32)
			}, proto.User.prototype.setUserattr = function(e) {
				return o.Message.setWrapperField(this, 32, e)
			}, proto.User.prototype.clearUserattr = function() {
				return this.setUserattr(void 0)
			}, proto.User.prototype.hasUserattr = function() {
				return null != o.Message.getField(this, 32)
			}, proto.User.prototype.getOwnroom = function() {
				return o.Message.getWrapperField(this, proto.User.OwnRoom, 33)
			}, proto.User.prototype.setOwnroom = function(e) {
				return o.Message.setWrapperField(this, 33, e)
			}, proto.User.prototype.clearOwnroom = function() {
				return this.setOwnroom(void 0)
			}, proto.User.prototype.hasOwnroom = function() {
				return null != o.Message.getField(this, 33)
			}, proto.User.prototype.getPayscore = function() {
				return o.Message.getFieldWithDefault(this, 34, 0)
			}, proto.User.prototype.setPayscore = function(e) {
				return o.Message.setProto3IntField(this, 34, e)
			}, proto.User.prototype.getTicketcount = function() {
				return o.Message.getFieldWithDefault(this, 35, 0)
			}, proto.User.prototype.setTicketcount = function(e) {
				return o.Message.setProto3IntField(this, 35, e)
			}, proto.User.prototype.getAnchorinfo = function() {
				return o.Message.getWrapperField(this, proto.User.AnchorInfo, 36)
			}, proto.User.prototype.setAnchorinfo = function(e) {
				return o.Message.setWrapperField(this, 36, e)
			}, proto.User.prototype.clearAnchorinfo = function() {
				return this.setAnchorinfo(void 0)
			}, proto.User.prototype.hasAnchorinfo = function() {
				return null != o.Message.getField(this, 36)
			}, proto.User.prototype.getLinkmicstats = function() {
				return o.Message.getFieldWithDefault(this, 37, 0)
			}, proto.User.prototype.setLinkmicstats = function(e) {
				return o.Message.setProto3IntField(this, 37, e)
			}, proto.User.prototype.getDisplayid = function() {
				return o.Message.getFieldWithDefault(this, 38, "")
			}, proto.User.prototype.setDisplayid = function(e) {
				return o.Message.setProto3StringField(this, 38, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.TextFormat.prototype.toObject = function(e) {
				return proto.TextFormat.toObject(e, this)
			}, proto.TextFormat.toObject = function(e, t) {
				var r = {
					color: o.Message.getFieldWithDefault(t, 1, ""),
					bold: o.Message.getBooleanFieldWithDefault(t, 2, !1),
					italic: o.Message.getBooleanFieldWithDefault(t, 3, !1),
					weight: o.Message.getFieldWithDefault(t, 4, 0),
					italicangle: o.Message.getFieldWithDefault(t, 5, 0),
					fontsize: o.Message.getFieldWithDefault(t, 6, 0),
					userheightlightcolor: o.Message.getBooleanFieldWithDefault(t, 7, !1),
					useremoteclor: o.Message.getBooleanFieldWithDefault(t, 8, !1)
				};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.TextFormat.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.TextFormat;
				return proto.TextFormat.deserializeBinaryFromReader(r, t)
			}, proto.TextFormat.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readString();
							e.setColor(r);
							break;
						case 2:
							r = t.readBool();
							e.setBold(r);
							break;
						case 3:
							r = t.readBool();
							e.setItalic(r);
							break;
						case 4:
							r = t.readInt32();
							e.setWeight(r);
							break;
						case 5:
							r = t.readInt32();
							e.setItalicangle(r);
							break;
						case 6:
							r = t.readInt32();
							e.setFontsize(r);
							break;
						case 7:
							r = t.readBool();
							e.setUserheightlightcolor(r);
							break;
						case 8:
							r = t.readBool();
							e.setUseremoteclor(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.TextFormat.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.TextFormat.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.TextFormat.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getColor()).length > 0 && t.writeString(1, r), (r = e.getBold()) && t.writeBool(2,
					r), (r = e.getItalic()) && t.writeBool(3, r), 0 !== (r = e.getWeight()) && t.writeInt32(
						4, r), 0 !== (r = e.getItalicangle()) && t.writeInt32(5, r), 0 !== (r = e
						.getFontsize()) && t.writeInt32(6, r), (r = e.getUserheightlightcolor()) && t
					.writeBool(7, r), (r = e.getUseremoteclor()) && t.writeBool(8, r)
			}, proto.TextFormat.prototype.getColor = function() {
				return o.Message.getFieldWithDefault(this, 1, "")
			}, proto.TextFormat.prototype.setColor = function(e) {
				return o.Message.setProto3StringField(this, 1, e)
			}, proto.TextFormat.prototype.getBold = function() {
				return o.Message.getBooleanFieldWithDefault(this, 2, !1)
			}, proto.TextFormat.prototype.setBold = function(e) {
				return o.Message.setProto3BooleanField(this, 2, e)
			}, proto.TextFormat.prototype.getItalic = function() {
				return o.Message.getBooleanFieldWithDefault(this, 3, !1)
			}, proto.TextFormat.prototype.setItalic = function(e) {
				return o.Message.setProto3BooleanField(this, 3, e)
			}, proto.TextFormat.prototype.getWeight = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.TextFormat.prototype.setWeight = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.TextFormat.prototype.getItalicangle = function() {
				return o.Message.getFieldWithDefault(this, 5, 0)
			}, proto.TextFormat.prototype.setItalicangle = function(e) {
				return o.Message.setProto3IntField(this, 5, e)
			}, proto.TextFormat.prototype.getFontsize = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.TextFormat.prototype.setFontsize = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.TextFormat.prototype.getUserheightlightcolor = function() {
				return o.Message.getBooleanFieldWithDefault(this, 7, !1)
			}, proto.TextFormat.prototype.setUserheightlightcolor = function(e) {
				return o.Message.setProto3BooleanField(this, 7, e)
			}, proto.TextFormat.prototype.getUseremoteclor = function() {
				return o.Message.getBooleanFieldWithDefault(this, 8, !1)
			}, proto.TextFormat.prototype.setUseremoteclor = function(e) {
				return o.Message.setProto3BooleanField(this, 8, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.TextPiece.prototype.toObject = function(e) {
				return proto.TextPiece.toObject(e, this)
			}, proto.TextPiece.toObject = function(e, t) {
				var r, s = {
					type: o.Message.getFieldWithDefault(t, 1, 0),
					format: (r = t.getFormat()) && proto.TextFormat.toObject(e, r),
					stringvalue: o.Message.getFieldWithDefault(t, 11, ""),
					uservalue: (r = t.getUservalue()) && proto.TextPieceUser.toObject(e, r)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.TextPiece.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.TextPiece;
				return proto.TextPiece.deserializeBinaryFromReader(r, t)
			}, proto.TextPiece.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt32();
							e.setType(r);
							break;
						case 2:
							r = new proto.TextFormat;
							t.readMessage(r, proto.TextFormat.deserializeBinaryFromReader), e.setFormat(r);
							break;
						case 11:
							r = t.readString();
							e.setStringvalue(r);
							break;
						case 21:
							r = new proto.TextPieceUser;
							t.readMessage(r, proto.TextPieceUser.deserializeBinaryFromReader), e
								.setUservalue(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.TextPiece.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.TextPiece.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.TextPiece.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getType()) && t.writeInt32(1, r), null != (r = e.getFormat()) && t
					.writeMessage(2, r, proto.TextFormat.serializeBinaryToWriter), (r = e.getStringvalue())
					.length > 0 && t.writeString(11, r), null != (r = e.getUservalue()) && t.writeMessage(
						21, r, proto.TextPieceUser.serializeBinaryToWriter)
			}, proto.TextPiece.prototype.getType = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.TextPiece.prototype.setType = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.TextPiece.prototype.getFormat = function() {
				return o.Message.getWrapperField(this, proto.TextFormat, 2)
			}, proto.TextPiece.prototype.setFormat = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.TextPiece.prototype.clearFormat = function() {
				return this.setFormat(void 0)
			}, proto.TextPiece.prototype.hasFormat = function() {
				return null != o.Message.getField(this, 2)
			}, proto.TextPiece.prototype.getStringvalue = function() {
				return o.Message.getFieldWithDefault(this, 11, "")
			}, proto.TextPiece.prototype.setStringvalue = function(e) {
				return o.Message.setProto3StringField(this, 11, e)
			}, proto.TextPiece.prototype.getUservalue = function() {
				return o.Message.getWrapperField(this, proto.TextPieceUser, 21)
			}, proto.TextPiece.prototype.setUservalue = function(e) {
				return o.Message.setWrapperField(this, 21, e)
			}, proto.TextPiece.prototype.clearUservalue = function() {
				return this.setUservalue(void 0)
			}, proto.TextPiece.prototype.hasUservalue = function() {
				return null != o.Message.getField(this, 21)
			}, proto.Image.repeatedFields_ = [1], o.Message.GENERATE_TO_OBJECT && (proto.Image.prototype
				.toObject = function(e) {
					return proto.Image.toObject(e, this)
				}, proto.Image.toObject = function(e, t) {
					var r, s = {
						urllistList: null == (r = o.Message.getRepeatedField(t, 1)) ? void 0 : r,
						uri: o.Message.getFieldWithDefault(t, 2, ""),
						height: o.Message.getFieldWithDefault(t, 3, 0),
						width: o.Message.getFieldWithDefault(t, 4, 0),
						avgcolor: o.Message.getFieldWithDefault(t, 5, ""),
						imagetype: o.Message.getFieldWithDefault(t, 6, 0),
						openweburl: o.Message.getFieldWithDefault(t, 7, ""),
						content: (r = t.getContent()) && proto.Image.Content.toObject(e, r),
						isanimated: o.Message.getBooleanFieldWithDefault(t, 9, !1)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.Image.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.Image;
				return proto.Image.deserializeBinaryFromReader(r, t)
			}, proto.Image.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readString();
							e.addUrllist(r);
							break;
						case 2:
							r = t.readString();
							e.setUri(r);
							break;
						case 3:
							r = t.readInt64();
							e.setHeight(r);
							break;
						case 4:
							r = t.readInt64();
							e.setWidth(r);
							break;
						case 5:
							r = t.readString();
							e.setAvgcolor(r);
							break;
						case 6:
							r = t.readInt32();
							e.setImagetype(r);
							break;
						case 7:
							r = t.readString();
							e.setOpenweburl(r);
							break;
						case 8:
							r = new proto.Image.Content;
							t.readMessage(r, proto.Image.Content.deserializeBinaryFromReader), e.setContent(
								r);
							break;
						case 9:
							r = t.readBool();
							e.setIsanimated(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.Image.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.Image.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.Image.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getUrllistList()).length > 0 && t.writeRepeatedString(1, r), (r = e.getUri())
					.length > 0 && t.writeString(2, r), 0 !== (r = e.getHeight()) && t.writeInt64(3, r),
					0 !== (r = e.getWidth()) && t.writeInt64(4, r), (r = e.getAvgcolor()).length > 0 && t
					.writeString(5, r), 0 !== (r = e.getImagetype()) && t.writeInt32(6, r), (r = e
						.getOpenweburl()).length > 0 && t.writeString(7, r), null != (r = e.getContent()) &&
					t.writeMessage(8, r, proto.Image.Content.serializeBinaryToWriter), (r = e
					.getIsanimated()) && t.writeBool(9, r)
			}, o.Message.GENERATE_TO_OBJECT && (proto.Image.Content.prototype.toObject = function(e) {
				return proto.Image.Content.toObject(e, this)
			}, proto.Image.Content.toObject = function(e, t) {
				var r = {
					name: o.Message.getFieldWithDefault(t, 1, ""),
					fontcolor: o.Message.getFieldWithDefault(t, 2, ""),
					level: o.Message.getFieldWithDefault(t, 3, 0),
					alternativetext: o.Message.getFieldWithDefault(t, 4, "")
				};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.Image.Content.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.Image.Content;
				return proto.Image.Content.deserializeBinaryFromReader(r, t)
			}, proto.Image.Content.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readString();
							e.setName(r);
							break;
						case 2:
							r = t.readString();
							e.setFontcolor(r);
							break;
						case 3:
							r = t.readInt64();
							e.setLevel(r);
							break;
						case 4:
							r = t.readString();
							e.setAlternativetext(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.Image.Content.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.Image.Content.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.Image.Content.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getName()).length > 0 && t.writeString(1, r), (r = e.getFontcolor()).length > 0 && t
					.writeString(2, r), 0 !== (r = e.getLevel()) && t.writeInt64(3, r), (r = e
						.getAlternativetext()).length > 0 && t.writeString(4, r)
			}, proto.Image.Content.prototype.getName = function() {
				return o.Message.getFieldWithDefault(this, 1, "")
			}, proto.Image.Content.prototype.setName = function(e) {
				return o.Message.setProto3StringField(this, 1, e)
			}, proto.Image.Content.prototype.getFontcolor = function() {
				return o.Message.getFieldWithDefault(this, 2, "")
			}, proto.Image.Content.prototype.setFontcolor = function(e) {
				return o.Message.setProto3StringField(this, 2, e)
			}, proto.Image.Content.prototype.getLevel = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.Image.Content.prototype.setLevel = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.Image.Content.prototype.getAlternativetext = function() {
				return o.Message.getFieldWithDefault(this, 4, "")
			}, proto.Image.Content.prototype.setAlternativetext = function(e) {
				return o.Message.setProto3StringField(this, 4, e)
			}, proto.Image.prototype.getUrllistList = function() {
				return o.Message.getRepeatedField(this, 1)
			}, proto.Image.prototype.setUrllistList = function(e) {
				return o.Message.setField(this, 1, e || [])
			}, proto.Image.prototype.addUrllist = function(e, t) {
				return o.Message.addToRepeatedField(this, 1, e, t)
			}, proto.Image.prototype.clearUrllistList = function() {
				return this.setUrllistList([])
			}, proto.Image.prototype.getUri = function() {
				return o.Message.getFieldWithDefault(this, 2, "")
			}, proto.Image.prototype.setUri = function(e) {
				return o.Message.setProto3StringField(this, 2, e)
			}, proto.Image.prototype.getHeight = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.Image.prototype.setHeight = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.Image.prototype.getWidth = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.Image.prototype.setWidth = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.Image.prototype.getAvgcolor = function() {
				return o.Message.getFieldWithDefault(this, 5, "")
			}, proto.Image.prototype.setAvgcolor = function(e) {
				return o.Message.setProto3StringField(this, 5, e)
			}, proto.Image.prototype.getImagetype = function() {
				return o.Message.getFieldWithDefault(this, 6, 0)
			}, proto.Image.prototype.setImagetype = function(e) {
				return o.Message.setProto3IntField(this, 6, e)
			}, proto.Image.prototype.getOpenweburl = function() {
				return o.Message.getFieldWithDefault(this, 7, "")
			}, proto.Image.prototype.setOpenweburl = function(e) {
				return o.Message.setProto3StringField(this, 7, e)
			}, proto.Image.prototype.getContent = function() {
				return o.Message.getWrapperField(this, proto.Image.Content, 8)
			}, proto.Image.prototype.setContent = function(e) {
				return o.Message.setWrapperField(this, 8, e)
			}, proto.Image.prototype.clearContent = function() {
				return this.setContent(void 0)
			}, proto.Image.prototype.hasContent = function() {
				return null != o.Message.getField(this, 8)
			}, proto.Image.prototype.getIsanimated = function() {
				return o.Message.getBooleanFieldWithDefault(this, 9, !1)
			}, proto.Image.prototype.setIsanimated = function(e) {
				return o.Message.setProto3BooleanField(this, 9, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.TextPieceUser.prototype.toObject = function(e) {
				return proto.TextPieceUser.toObject(e, this)
			}, proto.TextPieceUser.toObject = function(e, t) {
				var r, s = {
					user: (r = t.getUser()) && proto.User.toObject(e, r),
					withcolon: o.Message.getBooleanFieldWithDefault(t, 2, !1)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.TextPieceUser.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.TextPieceUser;
				return proto.TextPieceUser.deserializeBinaryFromReader(r, t)
			}, proto.TextPieceUser.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.User;
							t.readMessage(r, proto.User.deserializeBinaryFromReader), e.setUser(r);
							break;
						case 2:
							r = t.readBool();
							e.setWithcolon(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.TextPieceUser.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.TextPieceUser.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.TextPieceUser.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getUser()) && t.writeMessage(1, r, proto.User.serializeBinaryToWriter), (r =
					e.getWithcolon()) && t.writeBool(2, r)
			}, proto.TextPieceUser.prototype.getUser = function() {
				return o.Message.getWrapperField(this, proto.User, 1)
			}, proto.TextPieceUser.prototype.setUser = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.TextPieceUser.prototype.clearUser = function() {
				return this.setUser(void 0)
			}, proto.TextPieceUser.prototype.hasUser = function() {
				return null != o.Message.getField(this, 1)
			}, proto.TextPieceUser.prototype.getWithcolon = function() {
				return o.Message.getBooleanFieldWithDefault(this, 2, !1)
			}, proto.TextPieceUser.prototype.setWithcolon = function(e) {
				return o.Message.setProto3BooleanField(this, 2, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.PublicAreaCommon.prototype.toObject = function(e) {
				return proto.PublicAreaCommon.toObject(e, this)
			}, proto.PublicAreaCommon.toObject = function(e, t) {
				var r, s = {
					userlabel: (r = t.getUserlabel()) && proto.Image.toObject(e, r),
					userconsumeinroom: o.Message.getFieldWithDefault(t, 2, 0),
					usersendgiftcntinroom: o.Message.getFieldWithDefault(t, 3, 0)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.PublicAreaCommon.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.PublicAreaCommon;
				return proto.PublicAreaCommon.deserializeBinaryFromReader(r, t)
			}, proto.PublicAreaCommon.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setUserlabel(r);
							break;
						case 2:
							r = t.readInt64();
							e.setUserconsumeinroom(r);
							break;
						case 3:
							r = t.readInt64();
							e.setUsersendgiftcntinroom(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.PublicAreaCommon.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.PublicAreaCommon.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.PublicAreaCommon.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getUserlabel()) && t.writeMessage(1, r, proto.Image.serializeBinaryToWriter),
					0 !== (r = e.getUserconsumeinroom()) && t.writeInt64(2, r), 0 !== (r = e
						.getUsersendgiftcntinroom()) && t.writeInt64(3, r)
			}, proto.PublicAreaCommon.prototype.getUserlabel = function() {
				return o.Message.getWrapperField(this, proto.Image, 1)
			}, proto.PublicAreaCommon.prototype.setUserlabel = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.PublicAreaCommon.prototype.clearUserlabel = function() {
				return this.setUserlabel(void 0)
			}, proto.PublicAreaCommon.prototype.hasUserlabel = function() {
				return null != o.Message.getField(this, 1)
			}, proto.PublicAreaCommon.prototype.getUserconsumeinroom = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.PublicAreaCommon.prototype.setUserconsumeinroom = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.PublicAreaCommon.prototype.getUsersendgiftcntinroom = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.PublicAreaCommon.prototype.setUsersendgiftcntinroom = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, proto.GiftIMPriority.repeatedFields_ = [1], o.Message.GENERATE_TO_OBJECT && (proto
				.GiftIMPriority.prototype.toObject = function(e) {
					return proto.GiftIMPriority.toObject(e, this)
				}, proto.GiftIMPriority.toObject = function(e, t) {
					var r, s = {
						queuesizesList: null == (r = o.Message.getRepeatedField(t, 1)) ? void 0 : r,
						selfqueuepriority: o.Message.getFieldWithDefault(t, 2, 0),
						priority: o.Message.getFieldWithDefault(t, 3, 0)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.GiftIMPriority.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftIMPriority;
				return proto.GiftIMPriority.deserializeBinaryFromReader(r, t)
			}, proto.GiftIMPriority.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readPackedInt64();
							e.setQueuesizesList(r);
							break;
						case 2:
							r = t.readInt64();
							e.setSelfqueuepriority(r);
							break;
						case 3:
							r = t.readInt64();
							e.setPriority(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.GiftIMPriority.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftIMPriority.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftIMPriority.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				(r = e.getQueuesizesList()).length > 0 && t.writePackedInt64(1, r), 0 !== (r = e
						.getSelfqueuepriority()) && t.writeInt64(2, r), 0 !== (r = e.getPriority()) && t
					.writeInt64(3, r)
			}, proto.GiftIMPriority.prototype.getQueuesizesList = function() {
				return o.Message.getRepeatedField(this, 1)
			}, proto.GiftIMPriority.prototype.setQueuesizesList = function(e) {
				return o.Message.setField(this, 1, e || [])
			}, proto.GiftIMPriority.prototype.addQueuesizes = function(e, t) {
				return o.Message.addToRepeatedField(this, 1, e, t)
			}, proto.GiftIMPriority.prototype.clearQueuesizesList = function() {
				return this.setQueuesizesList([])
			}, proto.GiftIMPriority.prototype.getSelfqueuepriority = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.GiftIMPriority.prototype.setSelfqueuepriority = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.GiftIMPriority.prototype.getPriority = function() {
				return o.Message.getFieldWithDefault(this, 3, 0)
			}, proto.GiftIMPriority.prototype.setPriority = function(e) {
				return o.Message.setProto3IntField(this, 3, e)
			}, o.Message.GENERATE_TO_OBJECT && (proto.GiftTrayInfo.prototype.toObject = function(e) {
				return proto.GiftTrayInfo.toObject(e, this)
			}, proto.GiftTrayInfo.toObject = function(e, t) {
				var r, s = {
					traydisplaytext: (r = t.getTraydisplaytext()) && proto.Text.toObject(e, r),
					traybaseimg: (r = t.getTraybaseimg()) && proto.Image.toObject(e, r),
					trayheadimg: (r = t.getTrayheadimg()) && proto.Image.toObject(e, r),
					trayrightimg: (r = t.getTrayrightimg()) && proto.Image.toObject(e, r),
					traylevel: o.Message.getFieldWithDefault(t, 5, 0),
					traydynamicimg: (r = t.getTraydynamicimg()) && proto.Image.toObject(e, r)
				};
				return e && (s.$jspbMessageInstance = t), s
			}), proto.GiftTrayInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftTrayInfo;
				return proto.GiftTrayInfo.deserializeBinaryFromReader(r, t)
			}, proto.GiftTrayInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Text;
							t.readMessage(r, proto.Text.deserializeBinaryFromReader), e.setTraydisplaytext(
								r);
							break;
						case 2:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setTraybaseimg(r);
							break;
						case 3:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setTrayheadimg(r);
							break;
						case 4:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setTrayrightimg(r);
							break;
						case 5:
							r = t.readInt64();
							e.setTraylevel(r);
							break;
						case 6:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setTraydynamicimg(
								r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.GiftTrayInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftTrayInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftTrayInfo.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getTraydisplaytext()) && t.writeMessage(1, r, proto.Text
						.serializeBinaryToWriter), null != (r = e.getTraybaseimg()) && t.writeMessage(2, r,
						proto.Image.serializeBinaryToWriter), null != (r = e.getTrayheadimg()) && t
					.writeMessage(3, r, proto.Image.serializeBinaryToWriter), null != (r = e
						.getTrayrightimg()) && t.writeMessage(4, r, proto.Image.serializeBinaryToWriter),
					0 !== (r = e.getTraylevel()) && t.writeInt64(5, r), null != (r = e
				.getTraydynamicimg()) && t.writeMessage(6, r, proto.Image.serializeBinaryToWriter)
			}, proto.GiftTrayInfo.prototype.getTraydisplaytext = function() {
				return o.Message.getWrapperField(this, proto.Text, 1)
			}, proto.GiftTrayInfo.prototype.setTraydisplaytext = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.GiftTrayInfo.prototype.clearTraydisplaytext = function() {
				return this.setTraydisplaytext(void 0)
			}, proto.GiftTrayInfo.prototype.hasTraydisplaytext = function() {
				return null != o.Message.getField(this, 1)
			}, proto.GiftTrayInfo.prototype.getTraybaseimg = function() {
				return o.Message.getWrapperField(this, proto.Image, 2)
			}, proto.GiftTrayInfo.prototype.setTraybaseimg = function(e) {
				return o.Message.setWrapperField(this, 2, e)
			}, proto.GiftTrayInfo.prototype.clearTraybaseimg = function() {
				return this.setTraybaseimg(void 0)
			}, proto.GiftTrayInfo.prototype.hasTraybaseimg = function() {
				return null != o.Message.getField(this, 2)
			}, proto.GiftTrayInfo.prototype.getTrayheadimg = function() {
				return o.Message.getWrapperField(this, proto.Image, 3)
			}, proto.GiftTrayInfo.prototype.setTrayheadimg = function(e) {
				return o.Message.setWrapperField(this, 3, e)
			}, proto.GiftTrayInfo.prototype.clearTrayheadimg = function() {
				return this.setTrayheadimg(void 0)
			}, proto.GiftTrayInfo.prototype.hasTrayheadimg = function() {
				return null != o.Message.getField(this, 3)
			}, proto.GiftTrayInfo.prototype.getTrayrightimg = function() {
				return o.Message.getWrapperField(this, proto.Image, 4)
			}, proto.GiftTrayInfo.prototype.setTrayrightimg = function(e) {
				return o.Message.setWrapperField(this, 4, e)
			}, proto.GiftTrayInfo.prototype.clearTrayrightimg = function() {
				return this.setTrayrightimg(void 0)
			}, proto.GiftTrayInfo.prototype.hasTrayrightimg = function() {
				return null != o.Message.getField(this, 4)
			}, proto.GiftTrayInfo.prototype.getTraylevel = function() {
				return o.Message.getFieldWithDefault(this, 5, 0)
			}, proto.GiftTrayInfo.prototype.setTraylevel = function(e) {
				return o.Message.setProto3IntField(this, 5, e)
			}, proto.GiftTrayInfo.prototype.getTraydynamicimg = function() {
				return o.Message.getWrapperField(this, proto.Image, 6)
			}, proto.GiftTrayInfo.prototype.setTraydynamicimg = function(e) {
				return o.Message.setWrapperField(this, 6, e)
			}, proto.GiftTrayInfo.prototype.clearTraydynamicimg = function() {
				return this.setTraydynamicimg(void 0)
			}, proto.GiftTrayInfo.prototype.hasTraydynamicimg = function() {
				return null != o.Message.getField(this, 6)
			}, proto.GiftStruct.repeatedFields_ = [25, 44, 45, 55, 59], o.Message.GENERATE_TO_OBJECT && (
				proto.GiftStruct.prototype.toObject = function(e) {
					return proto.GiftStruct.toObject(e, this)
				}, proto.GiftStruct.toObject = function(e, t) {
					var r, s = {
						image: (r = t.getImage()) && proto.Image.toObject(e, r),
						describe: o.Message.getFieldWithDefault(t, 2, ""),
						notify: o.Message.getBooleanFieldWithDefault(t, 3, !1),
						duration: o.Message.getFieldWithDefault(t, 4, 0),
						id: o.Message.getFieldWithDefault(t, 5, 0),
						fansclubinfo: (r = t.getFansclubinfo()) && proto.GiftStruct
							.GiftStructFansClubInfo.toObject(e, r),
						forlinkmic: o.Message.getBooleanFieldWithDefault(t, 7, !1),
						doodle: o.Message.getBooleanFieldWithDefault(t, 8, !1),
						forfansclub: o.Message.getBooleanFieldWithDefault(t, 9, !1),
						combo: o.Message.getBooleanFieldWithDefault(t, 10, !1),
						type: o.Message.getFieldWithDefault(t, 11, 0),
						diamondcount: o.Message.getFieldWithDefault(t, 12, 0),
						isdisplayedonpanel: o.Message.getFieldWithDefault(t, 13, 0),
						primaryeffectid: o.Message.getFieldWithDefault(t, 14, 0),
						giftlabelicon: (r = t.getGiftlabelicon()) && proto.Image.toObject(e, r),
						name: o.Message.getFieldWithDefault(t, 16, ""),
						region: o.Message.getFieldWithDefault(t, 17, ""),
						manual: o.Message.getFieldWithDefault(t, 18, ""),
						forcustom: o.Message.getBooleanFieldWithDefault(t, 19, !1),
						specialeffectsMap: (r = t.getSpecialeffectsMap()) ? r.toObject(e, void 0) : [],
						icon: (r = t.getIcon()) && proto.Image.toObject(e, r),
						actiontype: o.Message.getFieldWithDefault(t, 22, 0),
						watermelonseeds: o.Message.getFieldWithDefault(t, 23, 0),
						goldeffect: o.Message.getFieldWithDefault(t, 24, ""),
						subsList: o.Message.toObjectList(t.getSubsList(), proto.LuckyMoneyGiftMeta
							.toObject, e),
						goldenbeans: o.Message.getFieldWithDefault(t, 26, 0),
						honorlevel: o.Message.getFieldWithDefault(t, 27, 0),
						itemtype: o.Message.getFieldWithDefault(t, 28, 0),
						schemeurl: o.Message.getFieldWithDefault(t, 29, ""),
						giftoperation: (r = t.getGiftoperation()) && proto.GiftPanelOperation.toObject(
							e, r),
						eventname: o.Message.getFieldWithDefault(t, 31, ""),
						noblelevel: o.Message.getFieldWithDefault(t, 32, 0),
						guideurl: o.Message.getFieldWithDefault(t, 33, ""),
						punishmedicine: o.Message.getBooleanFieldWithDefault(t, 34, !1),
						forportal: o.Message.getBooleanFieldWithDefault(t, 35, !1),
						businesstext: o.Message.getFieldWithDefault(t, 36, ""),
						cnygift: o.Message.getBooleanFieldWithDefault(t, 37, !1),
						appid: o.Message.getFieldWithDefault(t, 38, 0),
						viplevel: o.Message.getFieldWithDefault(t, 39, 0),
						isgray: o.Message.getBooleanFieldWithDefault(t, 40, !1),
						grayschemeurl: o.Message.getFieldWithDefault(t, 41, ""),
						giftscene: o.Message.getFieldWithDefault(t, 42, 0),
						giftbanner: (r = t.getGiftbanner()) && proto.GiftBanner.toObject(e, r),
						triggerwordsList: null == (r = o.Message.getRepeatedField(t, 44)) ? void 0 : r,
						giftbuffinfosList: o.Message.toObjectList(t.getGiftbuffinfosList(), proto
							.GiftBuffInfo.toObject, e),
						forfirstrecharge: o.Message.getBooleanFieldWithDefault(t, 46, !1),
						dynamicimgforselected: (r = t.getDynamicimgforselected()) && proto.Image
							.toObject(e, r),
						aftersendaction: o.Message.getFieldWithDefault(t, 48, 0),
						giftofflinetime: o.Message.getFieldWithDefault(t, 49, 0),
						topbartext: o.Message.getFieldWithDefault(t, 50, ""),
						toprightavatar: (r = t.getToprightavatar()) && proto.Image.toObject(e, r),
						bannerschemeurl: o.Message.getFieldWithDefault(t, 52, ""),
						islocked: o.Message.getBooleanFieldWithDefault(t, 53, !1),
						reqextratype: o.Message.getFieldWithDefault(t, 54, 0),
						assetidsList: null == (r = o.Message.getRepeatedField(t, 55)) ? void 0 : r,
						giftpreviewinfo: (r = t.getGiftpreviewinfo()) && proto.GiftPreviewInfo.toObject(
							e, r),
						gifttip: (r = t.getGifttip()) && proto.GiftTip.toObject(e, r),
						needsweeplightcount: o.Message.getFieldWithDefault(t, 58, 0),
						groupinfoList: o.Message.toObjectList(t.getGroupinfoList(), proto.GiftGroupInfo
							.toObject, e)
					};
					return e && (s.$jspbMessageInstance = t), s
				}), proto.GiftStruct.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftStruct;
				return proto.GiftStruct.deserializeBinaryFromReader(r, t)
			}, proto.GiftStruct.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setImage(r);
							break;
						case 2:
							r = t.readString();
							e.setDescribe(r);
							break;
						case 3:
							r = t.readBool();
							e.setNotify(r);
							break;
						case 4:
							r = t.readInt64();
							e.setDuration(r);
							break;
						case 5:
							r = t.readInt64();
							e.setId(r);
							break;
						case 6:
							r = new proto.GiftStruct.GiftStructFansClubInfo;
							t.readMessage(r, proto.GiftStruct.GiftStructFansClubInfo
								.deserializeBinaryFromReader), e.setFansclubinfo(r);
							break;
						case 7:
							r = t.readBool();
							e.setForlinkmic(r);
							break;
						case 8:
							r = t.readBool();
							e.setDoodle(r);
							break;
						case 9:
							r = t.readBool();
							e.setForfansclub(r);
							break;
						case 10:
							r = t.readBool();
							e.setCombo(r);
							break;
						case 11:
							r = t.readInt32();
							e.setType(r);
							break;
						case 12:
							r = t.readInt32();
							e.setDiamondcount(r);
							break;
						case 13:
							r = t.readInt32();
							e.setIsdisplayedonpanel(r);
							break;
						case 14:
							r = t.readInt64();
							e.setPrimaryeffectid(r);
							break;
						case 15:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setGiftlabelicon(
							r);
							break;
						case 16:
							r = t.readString();
							e.setName(r);
							break;
						case 17:
							r = t.readString();
							e.setRegion(r);
							break;
						case 18:
							r = t.readString();
							e.setManual(r);
							break;
						case 19:
							r = t.readBool();
							e.setForcustom(r);
							break;
						case 20:
							r = e.getSpecialeffectsMap();
							t.readMessage(r, function(e, t) {
								o.Map.deserializeBinary(e, t, o.BinaryReader.prototype.readString, o
									.BinaryReader.prototype.readInt64, null, "", 0)
							});
							break;
						case 21:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setIcon(r);
							break;
						case 22:
							r = t.readInt32();
							e.setActiontype(r);
							break;
						case 23:
							r = t.readInt32();
							e.setWatermelonseeds(r);
							break;
						case 24:
							r = t.readString();
							e.setGoldeffect(r);
							break;
						case 25:
							r = new proto.LuckyMoneyGiftMeta;
							t.readMessage(r, proto.LuckyMoneyGiftMeta.deserializeBinaryFromReader), e
								.addSubs(r);
							break;
						case 26:
							r = t.readInt64();
							e.setGoldenbeans(r);
							break;
						case 27:
							r = t.readInt64();
							e.setHonorlevel(r);
							break;
						case 28:
							r = t.readInt32();
							e.setItemtype(r);
							break;
						case 29:
							r = t.readString();
							e.setSchemeurl(r);
							break;
						case 30:
							r = new proto.GiftPanelOperation;
							t.readMessage(r, proto.GiftPanelOperation.deserializeBinaryFromReader), e
								.setGiftoperation(r);
							break;
						case 31:
							r = t.readString();
							e.setEventname(r);
							break;
						case 32:
							r = t.readInt64();
							e.setNoblelevel(r);
							break;
						case 33:
							r = t.readString();
							e.setGuideurl(r);
							break;
						case 34:
							r = t.readBool();
							e.setPunishmedicine(r);
							break;
						case 35:
							r = t.readBool();
							e.setForportal(r);
							break;
						case 36:
							r = t.readString();
							e.setBusinesstext(r);
							break;
						case 37:
							r = t.readBool();
							e.setCnygift(r);
							break;
						case 38:
							r = t.readInt64();
							e.setAppid(r);
							break;
						case 39:
							r = t.readInt64();
							e.setViplevel(r);
							break;
						case 40:
							r = t.readBool();
							e.setIsgray(r);
							break;
						case 41:
							r = t.readString();
							e.setGrayschemeurl(r);
							break;
						case 42:
							r = t.readInt64();
							e.setGiftscene(r);
							break;
						case 43:
							r = new proto.GiftBanner;
							t.readMessage(r, proto.GiftBanner.deserializeBinaryFromReader), e.setGiftbanner(
								r);
							break;
						case 44:
							r = t.readString();
							e.addTriggerwords(r);
							break;
						case 45:
							r = new proto.GiftBuffInfo;
							t.readMessage(r, proto.GiftBuffInfo.deserializeBinaryFromReader), e
								.addGiftbuffinfos(r);
							break;
						case 46:
							r = t.readBool();
							e.setForfirstrecharge(r);
							break;
						case 47:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e
								.setDynamicimgforselected(r);
							break;
						case 48:
							r = t.readInt32();
							e.setAftersendaction(r);
							break;
						case 49:
							r = t.readInt64();
							e.setGiftofflinetime(r);
							break;
						case 50:
							r = t.readString();
							e.setTopbartext(r);
							break;
						case 51:
							r = new proto.Image;
							t.readMessage(r, proto.Image.deserializeBinaryFromReader), e.setToprightavatar(
								r);
							break;
						case 52:
							r = t.readString();
							e.setBannerschemeurl(r);
							break;
						case 53:
							r = t.readBool();
							e.setIslocked(r);
							break;
						case 54:
							r = t.readInt64();
							e.setReqextratype(r);
							break;
						case 55:
							r = t.readPackedInt64();
							e.setAssetidsList(r);
							break;
						case 56:
							r = new proto.GiftPreviewInfo;
							t.readMessage(r, proto.GiftPreviewInfo.deserializeBinaryFromReader), e
								.setGiftpreviewinfo(r);
							break;
						case 57:
							r = new proto.GiftTip;
							t.readMessage(r, proto.GiftTip.deserializeBinaryFromReader), e.setGifttip(r);
							break;
						case 58:
							r = t.readInt32();
							e.setNeedsweeplightcount(r);
							break;
						case 59:
							r = new proto.GiftGroupInfo;
							t.readMessage(r, proto.GiftGroupInfo.deserializeBinaryFromReader), e
								.addGroupinfo(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.GiftStruct.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftStruct.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftStruct.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				null != (r = e.getImage()) && t.writeMessage(1, r, proto.Image.serializeBinaryToWriter), (
						r = e.getDescribe()).length > 0 && t.writeString(2, r), (r = e.getNotify()) && t
					.writeBool(3, r), 0 !== (r = e.getDuration()) && t.writeInt64(4, r), 0 !== (r = e
					.getId()) && t.writeInt64(5, r), null != (r = e.getFansclubinfo()) && t.writeMessage(6,
						r, proto.GiftStruct.GiftStructFansClubInfo.serializeBinaryToWriter), (r = e
						.getForlinkmic()) && t.writeBool(7, r), (r = e.getDoodle()) && t.writeBool(8, r), (
						r = e.getForfansclub()) && t.writeBool(9, r), (r = e.getCombo()) && t.writeBool(10,
						r), 0 !== (r = e.getType()) && t.writeInt32(11, r), 0 !== (r = e
				.getDiamondcount()) && t.writeInt32(12, r), 0 !== (r = e.getIsdisplayedonpanel()) && t
					.writeInt32(13, r), 0 !== (r = e.getPrimaryeffectid()) && t.writeInt64(14, r), null != (
						r = e.getGiftlabelicon()) && t.writeMessage(15, r, proto.Image
						.serializeBinaryToWriter), (r = e.getName()).length > 0 && t.writeString(16, r), (
						r = e.getRegion()).length > 0 && t.writeString(17, r), (r = e.getManual()).length >
					0 && t.writeString(18, r), (r = e.getForcustom()) && t.writeBool(19, r), (r = e
						.getSpecialeffectsMap(!0)) && r.getLength() > 0 && r.serializeBinary(20, t, o
						.BinaryWriter.prototype.writeString, o.BinaryWriter.prototype.writeInt64), null != (
						r = e.getIcon()) && t.writeMessage(21, r, proto.Image.serializeBinaryToWriter),
					0 !== (r = e.getActiontype()) && t.writeInt32(22, r), 0 !== (r = e
				.getWatermelonseeds()) && t.writeInt32(23, r), (r = e.getGoldeffect()).length > 0 && t
					.writeString(24, r), (r = e.getSubsList()).length > 0 && t.writeRepeatedMessage(25, r,
						proto.LuckyMoneyGiftMeta.serializeBinaryToWriter), 0 !== (r = e.getGoldenbeans()) &&
					t.writeInt64(26, r), 0 !== (r = e.getHonorlevel()) && t.writeInt64(27, r), 0 !== (r = e
						.getItemtype()) && t.writeInt32(28, r), (r = e.getSchemeurl()).length > 0 && t
					.writeString(29, r), null != (r = e.getGiftoperation()) && t.writeMessage(30, r, proto
						.GiftPanelOperation.serializeBinaryToWriter), (r = e.getEventname()).length > 0 && t
					.writeString(31, r), 0 !== (r = e.getNoblelevel()) && t.writeInt64(32, r), (r = e
						.getGuideurl()).length > 0 && t.writeString(33, r), (r = e.getPunishmedicine()) && t
					.writeBool(34, r), (r = e.getForportal()) && t.writeBool(35, r), (r = e
					.getBusinesstext()).length > 0 && t.writeString(36, r), (r = e.getCnygift()) && t
					.writeBool(37, r), 0 !== (r = e.getAppid()) && t.writeInt64(38, r), 0 !== (r = e
						.getViplevel()) && t.writeInt64(39, r), (r = e.getIsgray()) && t.writeBool(40, r), (
						r = e.getGrayschemeurl()).length > 0 && t.writeString(41, r), 0 !== (r = e
						.getGiftscene()) && t.writeInt64(42, r), null != (r = e.getGiftbanner()) && t
					.writeMessage(43, r, proto.GiftBanner.serializeBinaryToWriter), (r = e
						.getTriggerwordsList()).length > 0 && t.writeRepeatedString(44, r), (r = e
						.getGiftbuffinfosList()).length > 0 && t.writeRepeatedMessage(45, r, proto
						.GiftBuffInfo.serializeBinaryToWriter), (r = e.getForfirstrecharge()) && t
					.writeBool(46, r), null != (r = e.getDynamicimgforselected()) && t.writeMessage(47, r,
						proto.Image.serializeBinaryToWriter), 0 !== (r = e.getAftersendaction()) && t
					.writeInt32(48, r), 0 !== (r = e.getGiftofflinetime()) && t.writeInt64(49, r), (r = e
						.getTopbartext()).length > 0 && t.writeString(50, r), null != (r = e
						.getToprightavatar()) && t.writeMessage(51, r, proto.Image.serializeBinaryToWriter),
					(r = e.getBannerschemeurl()).length > 0 && t.writeString(52, r), (r = e
				.getIslocked()) && t.writeBool(53, r), 0 !== (r = e.getReqextratype()) && t.writeInt64(54,
						r), (r = e.getAssetidsList()).length > 0 && t.writePackedInt64(55, r), null != (r =
						e.getGiftpreviewinfo()) && t.writeMessage(56, r, proto.GiftPreviewInfo
						.serializeBinaryToWriter), null != (r = e.getGifttip()) && t.writeMessage(57, r,
						proto.GiftTip.serializeBinaryToWriter), 0 !== (r = e.getNeedsweeplightcount()) && t
					.writeInt32(58, r), (r = e.getGroupinfoList()).length > 0 && t.writeRepeatedMessage(59,
						r, proto.GiftGroupInfo.serializeBinaryToWriter)
			}, o.Message.GENERATE_TO_OBJECT && (proto.GiftStruct.GiftStructFansClubInfo.prototype.toObject =
				function(e) {
					return proto.GiftStruct.GiftStructFansClubInfo.toObject(e, this)
				}, proto.GiftStruct.GiftStructFansClubInfo.toObject = function(e, t) {
					var r = {
						minlevel: o.Message.getFieldWithDefault(t, 1, 0),
						insertpos: o.Message.getFieldWithDefault(t, 2, 0)
					};
					return e && (r.$jspbMessageInstance = t), r
				}), proto.GiftStruct.GiftStructFansClubInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftStruct.GiftStructFansClubInfo;
				return proto.GiftStruct.GiftStructFansClubInfo.deserializeBinaryFromReader(r, t)
			}, proto.GiftStruct.GiftStructFansClubInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					switch (t.getFieldNumber()) {
						case 1:
							var r = t.readInt32();
							e.setMinlevel(r);
							break;
						case 2:
							r = t.readInt32();
							e.setInsertpos(r);
							break;
						default:
							t.skipField()
					}
				}
				return e
			}, proto.GiftStruct.GiftStructFansClubInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftStruct.GiftStructFansClubInfo.serializeBinaryToWriter(this, e), e
					.getResultBuffer()
			}, proto.GiftStruct.GiftStructFansClubInfo.serializeBinaryToWriter = function(e, t) {
				var r = void 0;
				0 !== (r = e.getMinlevel()) && t.writeInt32(1, r), 0 !== (r = e.getInsertpos()) && t
					.writeInt32(2, r)
			}, proto.GiftStruct.GiftStructFansClubInfo.prototype.getMinlevel = function() {
				return o.Message.getFieldWithDefault(this, 1, 0)
			}, proto.GiftStruct.GiftStructFansClubInfo.prototype.setMinlevel = function(e) {
				return o.Message.setProto3IntField(this, 1, e)
			}, proto.GiftStruct.GiftStructFansClubInfo.prototype.getInsertpos = function() {
				return o.Message.getFieldWithDefault(this, 2, 0)
			}, proto.GiftStruct.GiftStructFansClubInfo.prototype.setInsertpos = function(e) {
				return o.Message.setProto3IntField(this, 2, e)
			}, proto.GiftStruct.prototype.getImage = function() {
				return o.Message.getWrapperField(this, proto.Image, 1)
			}, proto.GiftStruct.prototype.setImage = function(e) {
				return o.Message.setWrapperField(this, 1, e)
			}, proto.GiftStruct.prototype.clearImage = function() {
				return this.setImage(void 0)
			}, proto.GiftStruct.prototype.hasImage = function() {
				return null != o.Message.getField(this, 1)
			}, proto.GiftStruct.prototype.getDescribe = function() {
				return o.Message.getFieldWithDefault(this, 2, "")
			}, proto.GiftStruct.prototype.setDescribe = function(e) {
				return o.Message.setProto3StringField(this, 2, e)
			}, proto.GiftStruct.prototype.getNotify = function() {
				return o.Message.getBooleanFieldWithDefault(this, 3, !1)
			}, proto.GiftStruct.prototype.setNotify = function(e) {
				return o.Message.setProto3BooleanField(this, 3, e)
			}, proto.GiftStruct.prototype.getDuration = function() {
				return o.Message.getFieldWithDefault(this, 4, 0)
			}, proto.GiftStruct.prototype.setDuration = function(e) {
				return o.Message.setProto3IntField(this, 4, e)
			}, proto.GiftStruct.prototype.getId = function() {
				return o.Message.getFieldWithDefault(this, 5, 0)
			}, proto.GiftStruct.prototype.setId = function(e) {
				return o.Message.setProto3IntField(this, 5, e)
			}, proto.GiftStruct.prototype.getFansclubinfo = function() {
				return o.Message.getWrapperField(this, proto.GiftStruct.GiftStructFansClubInfo, 6)
			}, proto.GiftStruct.prototype.setFansclubinfo = function(e) {
				return o.Message.setWrapperField(this, 6, e)
			}, proto.GiftStruct.prototype.clearFansclubinfo = function() {
				return this.setFansclubinfo(void 0)
			}, proto.GiftStruct.prototype.hasFansclubinfo = function() {
				return null != o.Message.getField(this, 6)
			}, proto.GiftStruct.prototype.getForlinkmic = function() {
				return o.Message.getBooleanFieldWithDefault(this, 7, !1)
			}, proto.GiftStruct.prototype.setForlinkmic = function(e) {
				return o.Message.setProto3BooleanField(this, 7, e)
			}, proto.GiftStruct.prototype.getDoodle = function() {
				return o.Message.getBooleanFieldWithDefault(this, 8, !1)
			}, proto.GiftStruct.prototype.setDoodle = function(e) {
				return o.Message.setProto3BooleanField(this, 8, e)
			}, proto.GiftStruct.prototype.getForfansclub = function() {
				return o.Message.getBooleanFieldWithDefault(this, 9, !1)
			}, proto.GiftStruct.prototype.setForfansclub = function(e) {
				return o.Message.setProto3BooleanField(this, 9, e)
			}, proto.GiftStruct.prototype.getCombo = function() {
				return o.Message.getBooleanFieldWithDefault(this, 10, !1)
			}, proto.GiftStruct.prototype.setCombo = function(e) {
				return o.Message.setProto3BooleanField(this, 10, e)
			}, proto.GiftStruct.prototype.getType = function() {
				return o.Message.getFieldWithDefault(this, 11, 0)
			}, proto.GiftStruct.prototype.setType = function(e) {
				return o.Message.setProto3IntField(this, 11, e)
			}, proto.GiftStruct.prototype.getDiamondcount = function() {
				return o.Message.getFieldWithDefault(this, 12, 0)
			}, proto.GiftStruct.prototype.setDiamondcount = function(e) {
				return o.Message.setProto3IntField(this, 12, e)
			}, proto.GiftStruct.prototype.getIsdisplayedonpanel = function() {
				return o.Message.getFieldWithDefault(this, 13, 0)
			}, proto.GiftStruct.prototype.setIsdisplayedonpanel = function(e) {
				return o.Message.setProto3IntField(this, 13, e)
			}, proto.GiftStruct.prototype.getPrimaryeffectid = function() {
				return o.Message.getFieldWithDefault(this, 14, 0)
			}, proto.GiftStruct.prototype.setPrimaryeffectid = function(e) {
				return o.Message.setProto3IntField(this, 14, e)
			}, proto.GiftStruct.prototype.getGiftlabelicon = function() {
				return o.Message.getWrapperField(this, proto.Image, 15)
			}, proto.GiftStruct.prototype.setGiftlabelicon = function(e) {
				return o.Message.setWrapperField(this, 15, e)
			}, proto.GiftStruct.prototype.clearGiftlabelicon = function() {
				return this.setGiftlabelicon(void 0)
			}, proto.GiftStruct.prototype.hasGiftlabelicon = function() {
				return null != o.Message.getField(this, 15)
			}, proto.GiftStruct.prototype.getName = function() {
				return o.Message.getFieldWithDefault(this, 16, "")
			}, proto.GiftStruct.prototype.setName = function(e) {
				return o.Message.setProto3StringField(this, 16, e)
			}, proto.GiftStruct.prototype.getRegion = function() {
				return o.Message.getFieldWithDefault(this, 17, "")
			}, proto.GiftStruct.prototype.setRegion = function(e) {
				return o.Message.setProto3StringField(this, 17, e)
			}, proto.GiftStruct.prototype.getManual = function() {
				return o.Message.getFieldWithDefault(this, 18, "")
			}, proto.GiftStruct.prototype.setManual = function(e) {
				return o.Message.setProto3StringField(this, 18, e)
			}, proto.GiftStruct.prototype.getForcustom = function() {
				return o.Message.getBooleanFieldWithDefault(this, 19, !1)
			}, proto.GiftStruct.prototype.setForcustom = function(e) {
				return o.Message.setProto3BooleanField(this, 19, e)
			}, proto.GiftStruct.prototype.getSpecialeffectsMap = function(e) {
				return o.Message.getMapField(this, 20, e, null)
			}, proto.GiftStruct.prototype.clearSpecialeffectsMap = function() {
				return this.getSpecialeffectsMap().clear(), this
			}, proto.GiftStruct.prototype.getIcon = function() {
				return o.Message.getWrapperField(this, proto.Image, 21)
			}, proto.GiftStruct.prototype.setIcon = function(e) {
				return o.Message.setWrapperField(this, 21, e)
			}, proto.GiftStruct.prototype.clearIcon = function() {
				return this.setIcon(void 0)
			}, proto.GiftStruct.prototype.hasIcon = function() {
				return null != o.Message.getField(this, 21)
			}, proto.GiftStruct.prototype.getActiontype = function() {
				return o.Message.getFieldWithDefault(this, 22, 0)
			}, proto.GiftStruct.prototype.setActiontype = function(e) {
				return o.Message.setProto3IntField(this, 22, e)
			}, proto.GiftStruct.prototype.getWatermelonseeds = function() {
				return o.Message.getFieldWithDefault(this, 23, 0)
			}, proto.GiftStruct.prototype.setWatermelonseeds = function(e) {
				return o.Message.setProto3IntField(this, 23, e)
			}, proto.GiftStruct.prototype.getGoldeffect = function() {
				return o.Message.getFieldWithDefault(this, 24, "")
			}, proto.GiftStruct.prototype.setGoldeffect = function(e) {
				return o.Message.setProto3StringField(this, 24, e)
			}, proto.GiftStruct.prototype.getSubsList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.LuckyMoneyGiftMeta, 25)
			}, proto.GiftStruct.prototype.setSubsList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 25, e)
			}, proto.GiftStruct.prototype.addSubs = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 25, e, proto.LuckyMoneyGiftMeta, t)
			}, proto.GiftStruct.prototype.clearSubsList = function() {
				return this.setSubsList([])
			}, proto.GiftStruct.prototype.getGoldenbeans = function() {
				return o.Message.getFieldWithDefault(this, 26, 0)
			}, proto.GiftStruct.prototype.setGoldenbeans = function(e) {
				return o.Message.setProto3IntField(this, 26, e)
			}, proto.GiftStruct.prototype.getHonorlevel = function() {
				return o.Message.getFieldWithDefault(this, 27, 0)
			}, proto.GiftStruct.prototype.setHonorlevel = function(e) {
				return o.Message.setProto3IntField(this, 27, e)
			}, proto.GiftStruct.prototype.getItemtype = function() {
				return o.Message.getFieldWithDefault(this, 28, 0)
			}, proto.GiftStruct.prototype.setItemtype = function(e) {
				return o.Message.setProto3IntField(this, 28, e)
			}, proto.GiftStruct.prototype.getSchemeurl = function() {
				return o.Message.getFieldWithDefault(this, 29, "")
			}, proto.GiftStruct.prototype.setSchemeurl = function(e) {
				return o.Message.setProto3StringField(this, 29, e)
			}, proto.GiftStruct.prototype.getGiftoperation = function() {
				return o.Message.getWrapperField(this, proto.GiftPanelOperation, 30)
			}, proto.GiftStruct.prototype.setGiftoperation = function(e) {
				return o.Message.setWrapperField(this, 30, e)
			}, proto.GiftStruct.prototype.clearGiftoperation = function() {
				return this.setGiftoperation(void 0)
			}, proto.GiftStruct.prototype.hasGiftoperation = function() {
				return null != o.Message.getField(this, 30)
			}, proto.GiftStruct.prototype.getEventname = function() {
				return o.Message.getFieldWithDefault(this, 31, "")
			}, proto.GiftStruct.prototype.setEventname = function(e) {
				return o.Message.setProto3StringField(this, 31, e)
			}, proto.GiftStruct.prototype.getNoblelevel = function() {
				return o.Message.getFieldWithDefault(this, 32, 0)
			}, proto.GiftStruct.prototype.setNoblelevel = function(e) {
				return o.Message.setProto3IntField(this, 32, e)
			}, proto.GiftStruct.prototype.getGuideurl = function() {
				return o.Message.getFieldWithDefault(this, 33, "")
			}, proto.GiftStruct.prototype.setGuideurl = function(e) {
				return o.Message.setProto3StringField(this, 33, e)
			}, proto.GiftStruct.prototype.getPunishmedicine = function() {
				return o.Message.getBooleanFieldWithDefault(this, 34, !1)
			}, proto.GiftStruct.prototype.setPunishmedicine = function(e) {
				return o.Message.setProto3BooleanField(this, 34, e)
			}, proto.GiftStruct.prototype.getForportal = function() {
				return o.Message.getBooleanFieldWithDefault(this, 35, !1)
			}, proto.GiftStruct.prototype.setForportal = function(e) {
				return o.Message.setProto3BooleanField(this, 35, e)
			}, proto.GiftStruct.prototype.getBusinesstext = function() {
				return o.Message.getFieldWithDefault(this, 36, "")
			}, proto.GiftStruct.prototype.setBusinesstext = function(e) {
				return o.Message.setProto3StringField(this, 36, e)
			}, proto.GiftStruct.prototype.getCnygift = function() {
				return o.Message.getBooleanFieldWithDefault(this, 37, !1)
			}, proto.GiftStruct.prototype.setCnygift = function(e) {
				return o.Message.setProto3BooleanField(this, 37, e)
			}, proto.GiftStruct.prototype.getAppid = function() {
				return o.Message.getFieldWithDefault(this, 38, 0)
			}, proto.GiftStruct.prototype.setAppid = function(e) {
				return o.Message.setProto3IntField(this, 38, e)
			}, proto.GiftStruct.prototype.getViplevel = function() {
				return o.Message.getFieldWithDefault(this, 39, 0)
			}, proto.GiftStruct.prototype.setViplevel = function(e) {
				return o.Message.setProto3IntField(this, 39, e)
			}, proto.GiftStruct.prototype.getIsgray = function() {
				return o.Message.getBooleanFieldWithDefault(this, 40, !1)
			}, proto.GiftStruct.prototype.setIsgray = function(e) {
				return o.Message.setProto3BooleanField(this, 40, e)
			}, proto.GiftStruct.prototype.getGrayschemeurl = function() {
				return o.Message.getFieldWithDefault(this, 41, "")
			}, proto.GiftStruct.prototype.setGrayschemeurl = function(e) {
				return o.Message.setProto3StringField(this, 41, e)
			}, proto.GiftStruct.prototype.getGiftscene = function() {
				return o.Message.getFieldWithDefault(this, 42, 0)
			}, proto.GiftStruct.prototype.setGiftscene = function(e) {
				return o.Message.setProto3IntField(this, 42, e)
			}, proto.GiftStruct.prototype.getGiftbanner = function() {
				return o.Message.getWrapperField(this, proto.GiftBanner, 43)
			}, proto.GiftStruct.prototype.setGiftbanner = function(e) {
				return o.Message.setWrapperField(this, 43, e)
			}, proto.GiftStruct.prototype.clearGiftbanner = function() {
				return this.setGiftbanner(void 0)
			}, proto.GiftStruct.prototype.hasGiftbanner = function() {
				return null != o.Message.getField(this, 43)
			}, proto.GiftStruct.prototype.getTriggerwordsList = function() {
				return o.Message.getRepeatedField(this, 44)
			}, proto.GiftStruct.prototype.setTriggerwordsList = function(e) {
				return o.Message.setField(this, 44, e || [])
			}, proto.GiftStruct.prototype.addTriggerwords = function(e, t) {
				return o.Message.addToRepeatedField(this, 44, e, t)
			}, proto.GiftStruct.prototype.clearTriggerwordsList = function() {
				return this.setTriggerwordsList([])
			}, proto.GiftStruct.prototype.getGiftbuffinfosList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.GiftBuffInfo, 45)
			}, proto.GiftStruct.prototype.setGiftbuffinfosList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 45, e)
			}, proto.GiftStruct.prototype.addGiftbuffinfos = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 45, e, proto.GiftBuffInfo, t)
			}, proto.GiftStruct.prototype.clearGiftbuffinfosList = function() {
				return this.setGiftbuffinfosList([])
			}, proto.GiftStruct.prototype.getForfirstrecharge = function() {
				return o.Message.getBooleanFieldWithDefault(this, 46, !1)
			}, proto.GiftStruct.prototype.setForfirstrecharge = function(e) {
				return o.Message.setProto3BooleanField(this, 46, e)
			}, proto.GiftStruct.prototype.getDynamicimgforselected = function() {
				return o.Message.getWrapperField(this, proto.Image, 47)
			}, proto.GiftStruct.prototype.setDynamicimgforselected = function(e) {
				return o.Message.setWrapperField(this, 47, e)
			}, proto.GiftStruct.prototype.clearDynamicimgforselected = function() {
				return this.setDynamicimgforselected(void 0)
			}, proto.GiftStruct.prototype.hasDynamicimgforselected = function() {
				return null != o.Message.getField(this, 47)
			}, proto.GiftStruct.prototype.getAftersendaction = function() {
				return o.Message.getFieldWithDefault(this, 48, 0)
			}, proto.GiftStruct.prototype.setAftersendaction = function(e) {
				return o.Message.setProto3IntField(this, 48, e)
			}, proto.GiftStruct.prototype.getGiftofflinetime = function() {
				return o.Message.getFieldWithDefault(this, 49, 0)
			}, proto.GiftStruct.prototype.setGiftofflinetime = function(e) {
				return o.Message.setProto3IntField(this, 49, e)
			}, proto.GiftStruct.prototype.getTopbartext = function() {
				return o.Message.getFieldWithDefault(this, 50, "")
			}, proto.GiftStruct.prototype.setTopbartext = function(e) {
				return o.Message.setProto3StringField(this, 50, e)
			}, proto.GiftStruct.prototype.getToprightavatar = function() {
				return o.Message.getWrapperField(this, proto.Image, 51)
			}, proto.GiftStruct.prototype.setToprightavatar = function(e) {
				return o.Message.setWrapperField(this, 51, e)
			}, proto.GiftStruct.prototype.clearToprightavatar = function() {
				return this.setToprightavatar(void 0)
			}, proto.GiftStruct.prototype.hasToprightavatar = function() {
				return null != o.Message.getField(this, 51)
			}, proto.GiftStruct.prototype.getBannerschemeurl = function() {
				return o.Message.getFieldWithDefault(this, 52, "")
			}, proto.GiftStruct.prototype.setBannerschemeurl = function(e) {
				return o.Message.setProto3StringField(this, 52, e)
			}, proto.GiftStruct.prototype.getIslocked = function() {
				return o.Message.getBooleanFieldWithDefault(this, 53, !1)
			}, proto.GiftStruct.prototype.setIslocked = function(e) {
				return o.Message.setProto3BooleanField(this, 53, e)
			}, proto.GiftStruct.prototype.getReqextratype = function() {
				return o.Message.getFieldWithDefault(this, 54, 0)
			}, proto.GiftStruct.prototype.setReqextratype = function(e) {
				return o.Message.setProto3IntField(this, 54, e)
			}, proto.GiftStruct.prototype.getAssetidsList = function() {
				return o.Message.getRepeatedField(this, 55)
			}, proto.GiftStruct.prototype.setAssetidsList = function(e) {
				return o.Message.setField(this, 55, e || [])
			}, proto.GiftStruct.prototype.addAssetids = function(e, t) {
				return o.Message.addToRepeatedField(this, 55, e, t)
			}, proto.GiftStruct.prototype.clearAssetidsList = function() {
				return this.setAssetidsList([])
			}, proto.GiftStruct.prototype.getGiftpreviewinfo = function() {
				return o.Message.getWrapperField(this, proto.GiftPreviewInfo, 56)
			}, proto.GiftStruct.prototype.setGiftpreviewinfo = function(e) {
				return o.Message.setWrapperField(this, 56, e)
			}, proto.GiftStruct.prototype.clearGiftpreviewinfo = function() {
				return this.setGiftpreviewinfo(void 0)
			}, proto.GiftStruct.prototype.hasGiftpreviewinfo = function() {
				return null != o.Message.getField(this, 56)
			}, proto.GiftStruct.prototype.getGifttip = function() {
				return o.Message.getWrapperField(this, proto.GiftTip, 57)
			}, proto.GiftStruct.prototype.setGifttip = function(e) {
				return o.Message.setWrapperField(this, 57, e)
			}, proto.GiftStruct.prototype.clearGifttip = function() {
				return this.setGifttip(void 0)
			}, proto.GiftStruct.prototype.hasGifttip = function() {
				return null != o.Message.getField(this, 57)
			}, proto.GiftStruct.prototype.getNeedsweeplightcount = function() {
				return o.Message.getFieldWithDefault(this, 58, 0)
			}, proto.GiftStruct.prototype.setNeedsweeplightcount = function(e) {
				return o.Message.setProto3IntField(this, 58, e)
			}, proto.GiftStruct.prototype.getGroupinfoList = function() {
				return o.Message.getRepeatedWrapperField(this, proto.GiftGroupInfo, 59)
			}, proto.GiftStruct.prototype.setGroupinfoList = function(e) {
				return o.Message.setRepeatedWrapperField(this, 59, e)
			}, proto.GiftStruct.prototype.addGroupinfo = function(e, t) {
				return o.Message.addToRepeatedWrapperField(this, 59, e, proto.GiftGroupInfo, t)
			}, proto.GiftStruct.prototype.clearGroupinfoList = function() {
				return this.setGroupinfoList([])
			}, o.Message.GENERATE_TO_OBJECT && (proto.AssetEffectMixInfo.prototype.toObject = function(e) {
				return proto.AssetEffectMixInfo.toObject(e, this)
			}, proto.AssetEffectMixInfo.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.AssetEffectMixInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.AssetEffectMixInfo;
				return proto.AssetEffectMixInfo.deserializeBinaryFromReader(r, t)
			}, proto.AssetEffectMixInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.AssetEffectMixInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.AssetEffectMixInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.AssetEffectMixInfo.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.LuckyMoneyGiftMeta.prototype.toObject = function(e) {
				return proto.LuckyMoneyGiftMeta.toObject(e, this)
			}, proto.LuckyMoneyGiftMeta.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.LuckyMoneyGiftMeta.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.LuckyMoneyGiftMeta;
				return proto.LuckyMoneyGiftMeta.deserializeBinaryFromReader(r, t)
			}, proto.LuckyMoneyGiftMeta.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.LuckyMoneyGiftMeta.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.LuckyMoneyGiftMeta.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.LuckyMoneyGiftMeta.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.GiftPanelOperation.prototype.toObject = function(e) {
				return proto.GiftPanelOperation.toObject(e, this)
			}, proto.GiftPanelOperation.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.GiftPanelOperation.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftPanelOperation;
				return proto.GiftPanelOperation.deserializeBinaryFromReader(r, t)
			}, proto.GiftPanelOperation.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.GiftPanelOperation.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftPanelOperation.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftPanelOperation.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.GiftBanner.prototype.toObject = function(e) {
				return proto.GiftBanner.toObject(e, this)
			}, proto.GiftBanner.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.GiftBanner.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftBanner;
				return proto.GiftBanner.deserializeBinaryFromReader(r, t)
			}, proto.GiftBanner.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.GiftBanner.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftBanner.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftBanner.serializeBinaryToWriter = function(e, t) {}, o.Message.GENERATE_TO_OBJECT &&
			(proto.GiftBuffInfo.prototype.toObject = function(e) {
				return proto.GiftBuffInfo.toObject(e, this)
			}, proto.GiftBuffInfo.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.GiftBuffInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftBuffInfo;
				return proto.GiftBuffInfo.deserializeBinaryFromReader(r, t)
			}, proto.GiftBuffInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.GiftBuffInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftBuffInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftBuffInfo.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.GiftPreviewInfo.prototype.toObject = function(e) {
				return proto.GiftPreviewInfo.toObject(e, this)
			}, proto.GiftPreviewInfo.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.GiftPreviewInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftPreviewInfo;
				return proto.GiftPreviewInfo.deserializeBinaryFromReader(r, t)
			}, proto.GiftPreviewInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.GiftPreviewInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftPreviewInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftPreviewInfo.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.GiftTip.prototype.toObject = function(e) {
				return proto.GiftTip.toObject(e, this)
			}, proto.GiftTip.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.GiftTip.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftTip;
				return proto.GiftTip.deserializeBinaryFromReader(r, t)
			}, proto.GiftTip.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.GiftTip.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftTip.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftTip.serializeBinaryToWriter = function(e, t) {}, o.Message.GENERATE_TO_OBJECT && (
				proto.GiftGroupInfo.prototype.toObject = function(e) {
					return proto.GiftGroupInfo.toObject(e, this)
				}, proto.GiftGroupInfo.toObject = function(e, t) {
					var r = {};
					return e && (r.$jspbMessageInstance = t), r
				}), proto.GiftGroupInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.GiftGroupInfo;
				return proto.GiftGroupInfo.deserializeBinaryFromReader(r, t)
			}, proto.GiftGroupInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.GiftGroupInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.GiftGroupInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.GiftGroupInfo.serializeBinaryToWriter = function(e, t) {}, o.Message
			.GENERATE_TO_OBJECT && (proto.EffectMixImageInfo.prototype.toObject = function(e) {
				return proto.EffectMixImageInfo.toObject(e, this)
			}, proto.EffectMixImageInfo.toObject = function(e, t) {
				var r = {};
				return e && (r.$jspbMessageInstance = t), r
			}), proto.EffectMixImageInfo.deserializeBinary = function(e) {
				var t = new o.BinaryReader(e),
					r = new proto.EffectMixImageInfo;
				return proto.EffectMixImageInfo.deserializeBinaryFromReader(r, t)
			}, proto.EffectMixImageInfo.deserializeBinaryFromReader = function(e, t) {
				for (; t.nextField() && !t.isEndGroup();) {
					t.getFieldNumber();
					t.skipField()
				}
				return e
			}, proto.EffectMixImageInfo.prototype.serializeBinary = function() {
				var e = new o.BinaryWriter;
				return proto.EffectMixImageInfo.serializeBinaryToWriter(this, e), e.getResultBuffer()
			}, proto.EffectMixImageInfo.serializeBinaryToWriter = function(e, t) {}, s.object.extend(r,
				proto)
	}, {
		"google-protobuf": 2
	}],
	2: [function(require, module, exports) {
		(function(global) {
			(function() {
				var $jscomp = $jscomp || {};
				$jscomp.scope = {}, $jscomp.findInternal = function(e, t, r) {
						e instanceof String && (e = String(e));
						for (var o = e.length, s = 0; s < o; s++) {
							var i = e[s];
							if (t.call(r, i, s, e)) return {
								i: s,
								v: i
							}
						}
						return {
							i: -1,
							v: void 0
						}
					}, $jscomp.ASSUME_ES5 = !1, $jscomp.ASSUME_NO_NATIVE_MAP = !1, $jscomp
					.ASSUME_NO_NATIVE_SET = !1, $jscomp.SIMPLE_FROUND_POLYFILL = !1, $jscomp
					.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object
					.defineProperties ? Object.defineProperty : function(e, t, r) {
						e != Array.prototype && e != Object.prototype && (e[t] = r.value)
					}, $jscomp.getGlobal = function(e) {
						return "undefined" != typeof window && window === e ? e : void 0 !==
							global && null != global ? global : e
					}, $jscomp.global = $jscomp.getGlobal(this), $jscomp.polyfill = function(e, t,
						r, o) {
						if (t) {
							for (r = $jscomp.global, e = e.split("."), o = 0; o < e.length -
								1; o++) {
								var s = e[o];
								s in r || (r[s] = {}), r = r[s]
							}(t = t(o = r[e = e[e.length - 1]])) != o && null != t && $jscomp
								.defineProperty(r, e, {
									configurable: !0,
									writable: !0,
									value: t
								})
						}
					}, $jscomp.polyfill("Array.prototype.findIndex", function(e) {
						return e || function(e, t) {
							return $jscomp.findInternal(this, e, t).i
						}
					}, "es6", "es3"), $jscomp.checkStringArgs = function(e, t, r) {
						if (null == e) throw new TypeError(
							"The 'this' value for String.prototype." + r +
							" must not be null or undefined");
						if (t instanceof RegExp) throw new TypeError(
							"First argument to String.prototype." + r +
							" must not be a regular expression");
						return e + ""
					}, $jscomp.polyfill("String.prototype.endsWith", function(e) {
						return e || function(e, t) {
							var r = $jscomp.checkStringArgs(this, e, "endsWith");
							e += "", void 0 === t && (t = r.length), t = Math.max(0, Math
								.min(0 | t, r.length));
							for (var o = e.length; 0 < o && 0 < t;)
								if (r[--t] != e[--o]) return !1;
							return 0 >= o
						}
					}, "es6", "es3"), $jscomp.polyfill("Array.prototype.find", function(e) {
						return e || function(e, t) {
							return $jscomp.findInternal(this, e, t).v
						}
					}, "es6", "es3"), $jscomp.polyfill("String.prototype.startsWith", function(e) {
						return e || function(e, t) {
							var r = $jscomp.checkStringArgs(this, e, "startsWith");
							e += "";
							var o = r.length,
								s = e.length;
							t = Math.max(0, Math.min(0 | t, r.length));
							for (var i = 0; i < s && t < o;)
								if (r[t++] != e[i++]) return !1;
							return i >= s
						}
					}, "es6", "es3"), $jscomp.polyfill("String.prototype.repeat", function(e) {
						return e || function(e) {
							var t = $jscomp.checkStringArgs(this, null, "repeat");
							if (0 > e || 1342177279 < e) throw new RangeError(
								"Invalid count value");
							e |= 0;
							for (var r = ""; e;) 1 & e && (r += t), (e >>>= 1) && (t += t);
							return r
						}
					}, "es6", "es3");
				var COMPILED = !0,
					goog = goog || {};
				goog.global = this || self, goog.exportPath_ = function(e, t, r) {
						e = e.split("."), r = r || goog.global, e[0] in r || void 0 === r
							.execScript || r.execScript("var " + e[0]);
						for (var o; e.length && (o = e.shift());) e.length || void 0 === t ? r = r[
							o] && r[o] !== Object.prototype[o] ? r[o] : r[o] = {} : r[o] = t
					}, goog.define = function(e, t) {
						if (!COMPILED) {
							var r = goog.global.CLOSURE_UNCOMPILED_DEFINES,
								o = goog.global.CLOSURE_DEFINES;
							r && void 0 === r.nodeType && Object.prototype.hasOwnProperty.call(r,
								e) ? t = r[e] : o && void 0 === o.nodeType && Object.prototype
								.hasOwnProperty.call(o, e) && (t = o[e])
						}
						return t
					}, goog.FEATURESET_YEAR = 2012, goog.DEBUG = !0, goog.LOCALE = "en", goog
					.TRUSTED_SITE = !0, goog.STRICT_MODE_COMPATIBLE = !1, goog
					.DISALLOW_TEST_ONLY_CODE = COMPILED && !goog.DEBUG, goog
					.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = !1, goog.provide = function(e) {
						if (goog.isInModuleLoader_()) throw Error(
							"goog.provide cannot be used within a module.");
						if (!COMPILED && goog.isProvided_(e)) throw Error('Namespace "' + e +
							'" already declared.');
						goog.constructNamespace_(e)
					}, goog.constructNamespace_ = function(e, t) {
						if (!COMPILED) {
							delete goog.implicitNamespaces_[e];
							for (var r = e;
								(r = r.substring(0, r.lastIndexOf("."))) && !goog.getObjectByName(
								r);) goog.implicitNamespaces_[r] = !0
						}
						goog.exportPath_(e, t)
					}, goog.getScriptNonce = function(e) {
						return e && e != goog.global ? goog.getScriptNonce_(e.document) : (null ===
							goog.cspNonce_ && (goog.cspNonce_ = goog.getScriptNonce_(goog.global
								.document)), goog.cspNonce_)
					}, goog.NONCE_PATTERN_ = /^[\w+/_-]+[=]{0,2}$/, goog.cspNonce_ = null, goog
					.getScriptNonce_ = function(e) {
						return (e = e.querySelector && e.querySelector("script[nonce]")) && (e = e
								.nonce || e.getAttribute("nonce")) && goog.NONCE_PATTERN_.test(e) ?
							e : ""
					}, goog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/, goog.module =
					function(e) {
						if ("string" != typeof e || !e || -1 == e.search(goog.VALID_MODULE_RE_))
							throw Error("Invalid module identifier");
						if (!goog.isInGoogModuleLoader_()) throw Error("Module " + e +
							" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide."
							);
						if (goog.moduleLoaderState_.moduleName) throw Error(
							"goog.module may only be called once per module.");
						if (goog.moduleLoaderState_.moduleName = e, !COMPILED) {
							if (goog.isProvided_(e)) throw Error('Namespace "' + e +
								'" already declared.');
							delete goog.implicitNamespaces_[e]
						}
					}, goog.module.get = function(e) {
						return goog.module.getInternal_(e)
					}, goog.module.getInternal_ = function(e) {
						if (!COMPILED) {
							if (e in goog.loadedModules_) return goog.loadedModules_[e].exports;
							if (!goog.implicitNamespaces_[e]) return null != (e = goog
								.getObjectByName(e)) ? e : null
						}
						return null
					}, goog.ModuleType = {
						ES6: "es6",
						GOOG: "goog"
					}, goog.moduleLoaderState_ = null, goog.isInModuleLoader_ = function() {
						return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_()
					}, goog.isInGoogModuleLoader_ = function() {
						return !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog
							.ModuleType.GOOG
					}, goog.isInEs6ModuleLoader_ = function() {
						if (goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog
							.ModuleType.ES6) return !0;
						var e = goog.global.$jscomp;
						return !!e && ("function" == typeof e.getCurrentModulePath && !!e
							.getCurrentModulePath())
					}, goog.module.declareLegacyNamespace = function() {
						if (!COMPILED && !goog.isInGoogModuleLoader_()) throw Error(
							"goog.module.declareLegacyNamespace must be called from within a goog.module"
							);
						if (!COMPILED && !goog.moduleLoaderState_.moduleName) throw Error(
							"goog.module must be called prior to goog.module.declareLegacyNamespace."
							);
						goog.moduleLoaderState_.declareLegacyNamespace = !0
					}, goog.declareModuleId = function(e) {
						if (!COMPILED) {
							if (!goog.isInEs6ModuleLoader_()) throw Error(
								"goog.declareModuleId may only be called from within an ES6 module"
								);
							if (goog.moduleLoaderState_ && goog.moduleLoaderState_.moduleName)
							throw Error(
									"goog.declareModuleId may only be called once per module.");
							if (e in goog.loadedModules_) throw Error('Module with namespace "' +
								e + '" already exists.')
						}
						if (goog.moduleLoaderState_) goog.moduleLoaderState_.moduleName = e;
						else {
							var t = goog.global.$jscomp;
							if (!t || "function" != typeof t.getCurrentModulePath) throw Error(
								'Module with namespace "' + e +
								'" has been loaded incorrectly.');
							t = t.require(t.getCurrentModulePath()), goog.loadedModules_[e] = {
								exports: t,
								type: goog.ModuleType.ES6,
								moduleId: e
							}
						}
					}, goog.setTestOnly = function(e) {
						if (goog.DISALLOW_TEST_ONLY_CODE) throw e = e || "", Error(
							"Importing test-only code into non-debug environment" + (e ?
								": " + e : "."))
					}, goog.forwardDeclare = function(e) {}, COMPILED || (goog.isProvided_ =
						function(e) {
							return e in goog.loadedModules_ || !goog.implicitNamespaces_[e] &&
								null != goog.getObjectByName(e)
						}, goog.implicitNamespaces_ = {
							"goog.module": !0
						}), goog.getObjectByName = function(e, t) {
						e = e.split("."), t = t || goog.global;
						for (var r = 0; r < e.length; r++)
							if (null == (t = t[e[r]])) return null;
						return t
					}, goog.globalize = function(e, t) {
						for (var r in t = t || goog.global, e) t[r] = e[r]
					}, goog.addDependency = function(e, t, r, o) {
						!COMPILED && goog.DEPENDENCIES_ENABLED && goog.debugLoader_.addDependency(e,
							t, r, o)
					}, goog.ENABLE_DEBUG_LOADER = !0, goog.logToConsole_ = function(e) {
						goog.global.console && goog.global.console.error(e)
					}, goog.require = function(e) {
						if (!COMPILED) {
							if (goog.ENABLE_DEBUG_LOADER && goog.debugLoader_.requested(e), goog
								.isProvided_(e)) {
								if (goog.isInModuleLoader_()) return goog.module.getInternal_(e)
							} else if (goog.ENABLE_DEBUG_LOADER) {
								var t = goog.moduleLoaderState_;
								goog.moduleLoaderState_ = null;
								try {
									goog.debugLoader_.load_(e)
								} finally {
									goog.moduleLoaderState_ = t
								}
							}
							return null
						}
					}, goog.requireType = function(e) {
						return {}
					}, goog.basePath = "", goog.nullFunction = function() {}, goog.abstractMethod =
					function() {
						throw Error("unimplemented abstract method")
					}, goog.addSingletonGetter = function(e) {
						e.instance_ = void 0, e.getInstance = function() {
							return e.instance_ ? e.instance_ : (goog.DEBUG && (goog
								.instantiatedSingletons_[goog.instantiatedSingletons_
									.length] = e), e.instance_ = new e)
						}
					}, goog.instantiatedSingletons_ = [], goog.LOAD_MODULE_USING_EVAL = !0, goog
					.SEAL_MODULE_EXPORTS = goog.DEBUG, goog.loadedModules_ = {}, goog
					.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER, goog.TRANSPILE =
					"detect", goog.ASSUME_ES_MODULES_TRANSPILED = !1, goog.TRANSPILE_TO_LANGUAGE =
					"", goog.TRANSPILER = "transpile.js", goog.hasBadLetScoping = null, goog
					.useSafari10Workaround = function() {
						if (null == goog.hasBadLetScoping) {
							try {
								var a = !eval(
									'"use strict";let x = 1; function f() { return typeof x; };f() == "number";'
									)
							} catch (e) {
								a = !1
							}
							goog.hasBadLetScoping = a
						}
						return goog.hasBadLetScoping
					}, goog.workaroundSafari10EvalBug = function(e) {
						return "(function(){" + e + "\n;})();\n"
					}, goog.loadModule = function(e) {
						var t = goog.moduleLoaderState_;
						try {
							if (goog.moduleLoaderState_ = {
									moduleName: "",
									declareLegacyNamespace: !1,
									type: goog.ModuleType.GOOG
								}, goog.isFunction(e)) var r = e.call(void 0, {});
							else {
								if ("string" != typeof e) throw Error("Invalid module definition");
								goog.useSafari10Workaround() && (e = goog.workaroundSafari10EvalBug(
									e)), r = goog.loadModuleFromSource_.call(void 0, e)
							}
							var o = goog.moduleLoaderState_.moduleName;
							if ("string" != typeof o || !o) throw Error('Invalid module name "' +
								o + '"');
							goog.moduleLoaderState_.declareLegacyNamespace ? goog
								.constructNamespace_(o, r) : goog.SEAL_MODULE_EXPORTS && Object
								.seal && "object" == typeof r && null != r && Object.seal(r), goog
								.loadedModules_[o] = {
									exports: r,
									type: goog.ModuleType.GOOG,
									moduleId: goog.moduleLoaderState_.moduleName
								}
						} finally {
							goog.moduleLoaderState_ = t
						}
					}, goog.loadModuleFromSource_ = function(a) {
						return eval(a), {}
					}, goog.normalizePath_ = function(e) {
						e = e.split("/");
						for (var t = 0; t < e.length;) "." == e[t] ? e.splice(t, 1) : t && ".." ==
							e[t] && e[t - 1] && ".." != e[t - 1] ? e.splice(--t, 2) : t++;
						return e.join("/")
					}, goog.loadFileSync_ = function(e) {
						if (goog.global.CLOSURE_LOAD_FILE_SYNC) return goog.global
							.CLOSURE_LOAD_FILE_SYNC(e);
						try {
							var t = new goog.global.XMLHttpRequest;
							return t.open("get", e, !1), t.send(), 0 == t.status || 200 == t
								.status ? t.responseText : null
						} catch (e) {
							return null
						}
					}, goog.transpile_ = function(e, t, r) {
						var o = goog.global.$jscomp;
						o || (goog.global.$jscomp = o = {});
						var s = o.transpile;
						if (!s) {
							var i = goog.basePath + goog.TRANSPILER,
								n = goog.loadFileSync_(i);
							if (n) {
								if (function() {
										(0, eval)(n + "\n//# sourceURL=" + i)
									}.call(goog.global), goog.global.$gwtExport && goog.global
									.$gwtExport.$jscomp && !goog.global.$gwtExport.$jscomp.transpile
									) throw Error(
									'The transpiler did not properly export the "transpile" method. $gwtExport: ' +
									JSON.stringify(goog.global.$gwtExport));
								goog.global.$jscomp.transpile = goog.global.$gwtExport.$jscomp
									.transpile, s = (o = goog.global.$jscomp).transpile
							}
						}
						return s || (s = o.transpile = function(e, t) {
							return goog.logToConsole_(t +
									" requires transpilation but no transpiler was found."),
								e
						}), s(e, t, r)
					}, goog.typeOf = function(e) {
						var t = typeof e;
						if ("object" == t) {
							if (!e) return "null";
							if (e instanceof Array) return "array";
							if (e instanceof Object) return t;
							var r = Object.prototype.toString.call(e);
							if ("[object Window]" == r) return "object";
							if ("[object Array]" == r || "number" == typeof e.length && void 0 !== e
								.splice && void 0 !== e.propertyIsEnumerable && !e
								.propertyIsEnumerable("splice")) return "array";
							if ("[object Function]" == r || void 0 !== e.call && void 0 !== e
								.propertyIsEnumerable && !e.propertyIsEnumerable("call"))
							return "function"
						} else if ("function" == t && void 0 === e.call) return "object";
						return t
					}, goog.isArray = function(e) {
						return "array" == goog.typeOf(e)
					}, goog.isArrayLike = function(e) {
						var t = goog.typeOf(e);
						return "array" == t || "object" == t && "number" == typeof e.length
					}, goog.isDateLike = function(e) {
						return goog.isObject(e) && "function" == typeof e.getFullYear
					}, goog.isFunction = function(e) {
						return "function" == goog.typeOf(e)
					}, goog.isObject = function(e) {
						var t = typeof e;
						return "object" == t && null != e || "function" == t
					}, goog.getUid = function(e) {
						return Object.prototype.hasOwnProperty.call(e, goog.UID_PROPERTY_) && e[goog
							.UID_PROPERTY_] || (e[goog.UID_PROPERTY_] = ++goog.uidCounter_)
					}, goog.hasUid = function(e) {
						return !!e[goog.UID_PROPERTY_]
					}, goog.removeUid = function(e) {
						null !== e && "removeAttribute" in e && e.removeAttribute(goog
							.UID_PROPERTY_);
						try {
							delete e[goog.UID_PROPERTY_]
						} catch (e) {}
					}, goog.UID_PROPERTY_ = "closure_uid_" + (1e9 * Math.random() >>> 0), goog
					.uidCounter_ = 0, goog.getHashCode = goog.getUid, goog.removeHashCode = goog
					.removeUid, goog.cloneObject = function(e) {
						var t = goog.typeOf(e);
						if ("object" == t || "array" == t) {
							if ("function" == typeof e.clone) return e.clone();
							for (var r in t = "array" == t ? [] : {}, e) t[r] = goog.cloneObject(e[
								r]);
							return t
						}
						return e
					}, goog.bindNative_ = function(e, t, r) {
						return e.call.apply(e.bind, arguments)
					}, goog.bindJs_ = function(e, t, r) {
						if (!e) throw Error();
						if (2 < arguments.length) {
							var o = Array.prototype.slice.call(arguments, 2);
							return function() {
								var r = Array.prototype.slice.call(arguments);
								return Array.prototype.unshift.apply(r, o), e.apply(t, r)
							}
						}
						return function() {
							return e.apply(t, arguments)
						}
					}, goog.bind = function(e, t, r) {
						return Function.prototype.bind && -1 != Function.prototype.bind.toString()
							.indexOf("native code") ? goog.bind = goog.bindNative_ : goog.bind =
							goog.bindJs_, goog.bind.apply(null, arguments)
					}, goog.partial = function(e, t) {
						var r = Array.prototype.slice.call(arguments, 1);
						return function() {
							var t = r.slice();
							return t.push.apply(t, arguments), e.apply(this, t)
						}
					}, goog.mixin = function(e, t) {
						for (var r in t) e[r] = t[r]
					}, goog.now = goog.TRUSTED_SITE && Date.now || function() {
						return +new Date
					}, goog.globalEval = function(e) {
						if (goog.global.execScript) goog.global.execScript(e, "JavaScript");
						else {
							if (!goog.global.eval) throw Error("goog.globalEval not available");
							if (null == goog.evalWorksForGlobals_) {
								try {
									goog.global.eval("var _evalTest_ = 1;")
								} catch (e) {}
								if (void 0 !== goog.global._evalTest_) {
									try {
										delete goog.global._evalTest_
									} catch (e) {}
									goog.evalWorksForGlobals_ = !0
								} else goog.evalWorksForGlobals_ = !1
							}
							if (goog.evalWorksForGlobals_) goog.global.eval(e);
							else {
								var t = goog.global.document,
									r = t.createElement("script");
								r.type = "text/javascript", r.defer = !1, r.appendChild(t
										.createTextNode(e)), t.head.appendChild(r), t.head
									.removeChild(r)
							}
						}
					}, goog.evalWorksForGlobals_ = null, goog.getCssName = function(e, t) {
						if ("." == String(e).charAt(0)) throw Error(
							'className passed in goog.getCssName must not start with ".". You passed: ' +
							e);
						var r = function(e) {
								return goog.cssNameMapping_[e] || e
							},
							o = function(e) {
								e = e.split("-");
								for (var t = [], o = 0; o < e.length; o++) t.push(r(e[o]));
								return t.join("-")
							};
						return o = goog.cssNameMapping_ ? "BY_WHOLE" == goog.cssNameMappingStyle_ ?
							r : o : function(e) {
								return e
							}, e = t ? e + "-" + o(t) : o(e), goog.global.CLOSURE_CSS_NAME_MAP_FN ?
							goog.global.CLOSURE_CSS_NAME_MAP_FN(e) : e
					}, goog.setCssNameMapping = function(e, t) {
						goog.cssNameMapping_ = e, goog.cssNameMappingStyle_ = t
					}, !COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING && (goog.cssNameMapping_ =
						goog.global.CLOSURE_CSS_NAME_MAPPING), goog.getMsg = function(e, t, r) {
						return r && r.html && (e = e.replace(/</g, "&lt;")), t && (e = e.replace(
							/\{\$([^}]+)}/g,
							function(e, r) {
								return null != t && r in t ? t[r] : e
							})), e
					}, goog.getMsgWithFallback = function(e, t) {
						return e
					}, goog.exportSymbol = function(e, t, r) {
						goog.exportPath_(e, t, r)
					}, goog.exportProperty = function(e, t, r) {
						e[t] = r
					}, goog.inherits = function(e, t) {
						function r() {}
						r.prototype = t.prototype, e.superClass_ = t.prototype, e.prototype = new r,
							e.prototype.constructor = e, e.base = function(e, r, o) {
								for (var s = Array(arguments.length - 2), i = 2; i < arguments
									.length; i++) s[i - 2] = arguments[i];
								return t.prototype[r].apply(e, s)
							}
					}, goog.scope = function(e) {
						if (goog.isInModuleLoader_()) throw Error(
							"goog.scope is not supported within a module.");
						e.call(goog.global)
					}, COMPILED || (goog.global.COMPILED = COMPILED), goog.defineClass = function(e,
						t) {
						var r = t.constructor,
							o = t.statics;
						return r && r != Object.prototype.constructor || (r = function() {
								throw Error(
									"cannot instantiate an interface (no constructor defined)."
									)
							}), r = goog.defineClass.createSealingConstructor_(r, e), e && goog
							.inherits(r, e), delete t.constructor, delete t.statics, goog
							.defineClass.applyProperties_(r.prototype, t), null != o && (
								o instanceof Function ? o(r) : goog.defineClass.applyProperties_(r,
									o)), r
					}, goog.defineClass.SEAL_CLASS_INSTANCES = goog.DEBUG, goog.defineClass
					.createSealingConstructor_ = function(e, t) {
						if (!goog.defineClass.SEAL_CLASS_INSTANCES) return e;
						var r = !goog.defineClass.isUnsealable_(t),
							o = function() {
								var t = e.apply(this, arguments) || this;
								return t[goog.UID_PROPERTY_] = t[goog.UID_PROPERTY_], this
									.constructor === o && r && Object.seal instanceof Function &&
									Object.seal(t), t
							};
						return o
					}, goog.defineClass.isUnsealable_ = function(e) {
						return e && e.prototype && e.prototype[goog
							.UNSEALABLE_CONSTRUCTOR_PROPERTY_]
					}, goog.defineClass.OBJECT_PROTOTYPE_FIELDS_ =
					"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf"
					.split(" "), goog.defineClass.applyProperties_ = function(e, t) {
						for (var r in t) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[
						r]);
						for (var o = 0; o < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; o++)
							r = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[o], Object.prototype
							.hasOwnProperty.call(t, r) && (e[r] = t[r])
					}, goog.tagUnsealableClass = function(e) {
						!COMPILED && goog.defineClass.SEAL_CLASS_INSTANCES && (e.prototype[goog
							.UNSEALABLE_CONSTRUCTOR_PROPERTY_] = !0)
					}, goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_ = "goog_defineClass_legacy_unsealable",
					!COMPILED && goog.DEPENDENCIES_ENABLED && (goog.inHtmlDocument_ = function() {
							var e = goog.global.document;
							return null != e && "write" in e
						}, goog.isDocumentLoading_ = function() {
							var e = goog.global.document;
							return e.attachEvent ? "complete" != e.readyState : "loading" == e
								.readyState
						}, goog.findBasePath_ = function() {
							if (null != goog.global.CLOSURE_BASE_PATH && "string" == typeof goog
								.global.CLOSURE_BASE_PATH) goog.basePath = goog.global
								.CLOSURE_BASE_PATH;
							else if (goog.inHtmlDocument_()) {
								var e = goog.global.document,
									t = e.currentScript;
								for (t = (e = t ? [t] : e.getElementsByTagName("SCRIPT")).length -
									1; 0 <= t; --t) {
									var r = e[t].src,
										o = r.lastIndexOf("?");
									if (o = -1 == o ? r.length : o, "base.js" == r.substr(o - 7,
										7)) {
										goog.basePath = r.substr(0, o - 7);
										break
									}
								}
							}
						}, goog.findBasePath_(), goog.Transpiler = function() {
							this.requiresTranspilation_ = null, this.transpilationTarget_ = goog
								.TRANSPILE_TO_LANGUAGE
						}, goog.Transpiler.prototype.createRequiresTranspilation_ = function() {
							function a(t, r) {
								e ? d[t] = !0 : r() ? (c = t, d[t] = !1) : e = d[t] = !0
							}

							function b(a) {
								try {
									return !!eval(a)
								} catch (e) {
									return !1
								}
							}
							var c = "es3",
								d = {
									es3: !1
								},
								e = !1,
								f = goog.global.navigator && goog.global.navigator.userAgent ? goog
								.global.navigator.userAgent : "";
							return a("es5", function() {
								return b("[1,].length==1")
							}), a("es6", function() {
								return !f.match(/Edge\/(\d+)(\.\d)*/i) && b(
									'(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()'
									)
							}), a("es7", function() {
								return b("2 ** 2 == 4")
							}), a("es8", function() {
								return b("async () => 1, true")
							}), a("es9", function() {
								return b("({...rest} = {}), true")
							}), a("es_next", function() {
								return !1
							}), {
								target: c,
								map: d
							}
						}, goog.Transpiler.prototype.needsTranspile = function(e, t) {
							if ("always" == goog.TRANSPILE) return !0;
							if ("never" == goog.TRANSPILE) return !1;
							if (!this.requiresTranspilation_) {
								var r = this.createRequiresTranspilation_();
								this.requiresTranspilation_ = r.map, this.transpilationTarget_ =
									this.transpilationTarget_ || r.target
							}
							if (e in this.requiresTranspilation_) return !!this
								.requiresTranspilation_[e] || !(!goog.inHtmlDocument_() ||
									"es6" != t || "noModule" in goog.global.document
									.createElement("script"));
							throw Error("Unknown language mode: " + e)
						}, goog.Transpiler.prototype.transpile = function(e, t) {
							return goog.transpile_(e, t, this.transpilationTarget_)
						}, goog.transpiler_ = new goog.Transpiler, goog.protectScriptTag_ =
						function(e) {
							return e.replace(/<\/(SCRIPT)/gi, "\\x3c/$1")
						}, goog.DebugLoader_ = function() {
							this.dependencies_ = {}, this.idToPath_ = {}, this.written_ = {}, this
								.loadingDeps_ = [], this.depsToLoad_ = [], this.paused_ = !1, this
								.factory_ = new goog.DependencyFactory(goog.transpiler_), this
								.deferredCallbacks_ = {}, this.deferredQueue_ = []
						}, goog.DebugLoader_.prototype.bootstrap = function(e, t) {
							function r() {
								o && (goog.global.setTimeout(o, 0), o = null)
							}
							var o = t;
							if (e.length) {
								t = [];
								for (var s = 0; s < e.length; s++) {
									var i = this.getPathFromDeps_(e[s]);
									if (!i) throw Error("Unregonized namespace: " + e[s]);
									t.push(this.dependencies_[i])
								}
								i = goog.require;
								var n = 0;
								for (s = 0; s < e.length; s++) i(e[s]), t[s].onLoad(function() {
									++n == e.length && r()
								})
							} else r()
						}, goog.DebugLoader_.prototype.loadClosureDeps = function() {
							this.depsToLoad_.push(this.factory_.createDependency(goog
								.normalizePath_(goog.basePath + "deps.js"), "deps.js", [],
								[], {}, !1)), this.loadDeps_()
						}, goog.DebugLoader_.prototype.requested = function(e, t) {
							(e = this.getPathFromDeps_(e)) && (t || this.areDepsLoaded_(this
								.dependencies_[e].requires)) && (t = this.deferredCallbacks_[e]) &&
							(delete this.deferredCallbacks_[e], t())
						}, goog.DebugLoader_.prototype.setDependencyFactory = function(e) {
							this.factory_ = e
						}, goog.DebugLoader_.prototype.load_ = function(e) {
							if (!this.getPathFromDeps_(e)) throw e =
								"goog.require could not find: " + e, goog.logToConsole_(e),
								Error(e);
							var t = this,
								r = [],
								o = function(e) {
									var s = t.getPathFromDeps_(e);
									if (!s) throw Error("Bad dependency path or symbol: " + e);
									if (!t.written_[s]) {
										for (t.written_[s] = !0, e = t.dependencies_[s], s = 0; s <
											e.requires.length; s++) goog.isProvided_(e.requires[
											s]) || o(e.requires[s]);
										r.push(e)
									}
								};
							o(e), e = !!this.depsToLoad_.length, this.depsToLoad_ = this.depsToLoad_
								.concat(r), this.paused_ || e || this.loadDeps_()
						}, goog.DebugLoader_.prototype.loadDeps_ = function() {
							for (var e = this, t = this.paused_; this.depsToLoad_.length && !t;) !
								function() {
									var r = !1,
										o = e.depsToLoad_.shift(),
										s = !1;
									e.loading_(o);
									var i = {
										pause: function() {
											if (r) throw Error(
												"Cannot call pause after the call to load."
												);
											t = !0
										},
										resume: function() {
											r ? e.resume_() : t = !1
										},
										loaded: function() {
											if (s) throw Error("Double call to loaded.");
											s = !0, e.loaded_(o)
										},
										pending: function() {
											for (var t = [], r = 0; r < e.loadingDeps_
												.length; r++) t.push(e.loadingDeps_[r]);
											return t
										},
										setModuleState: function(e) {
											goog.moduleLoaderState_ = {
												type: e,
												moduleName: "",
												declareLegacyNamespace: !1
											}
										},
										registerEs6ModuleExports: function(e, t, r) {
											r && (goog.loadedModules_[r] = {
												exports: t,
												type: goog.ModuleType.ES6,
												moduleId: r || ""
											})
										},
										registerGoogModuleExports: function(e, t) {
											goog.loadedModules_[e] = {
												exports: t,
												type: goog.ModuleType.GOOG,
												moduleId: e
											}
										},
										clearModuleState: function() {
											goog.moduleLoaderState_ = null
										},
										defer: function(t) {
											if (r) throw Error(
												"Cannot register with defer after the call to load."
												);
											e.defer_(o, t)
										},
										areDepsLoaded: function() {
											return e.areDepsLoaded_(o.requires)
										}
									};
									try {
										o.load(i)
									} finally {
										r = !0
									}
								}();
							t && this.pause_()
						}, goog.DebugLoader_.prototype.pause_ = function() {
							this.paused_ = !0
						}, goog.DebugLoader_.prototype.resume_ = function() {
							this.paused_ && (this.paused_ = !1, this.loadDeps_())
						}, goog.DebugLoader_.prototype.loading_ = function(e) {
							this.loadingDeps_.push(e)
						}, goog.DebugLoader_.prototype.loaded_ = function(e) {
							for (var t = 0; t < this.loadingDeps_.length; t++)
								if (this.loadingDeps_[t] == e) {
									this.loadingDeps_.splice(t, 1);
									break
								} for (t = 0; t < this.deferredQueue_.length; t++)
								if (this.deferredQueue_[t] == e.path) {
									this.deferredQueue_.splice(t, 1);
									break
								} if (this.loadingDeps_.length == this.deferredQueue_.length && !
								this.depsToLoad_.length)
								for (; this.deferredQueue_.length;) this.requested(this
									.deferredQueue_.shift(), !0);
							e.loaded()
						}, goog.DebugLoader_.prototype.areDepsLoaded_ = function(e) {
							for (var t = 0; t < e.length; t++) {
								var r = this.getPathFromDeps_(e[t]);
								if (!r || !(r in this.deferredCallbacks_ || goog.isProvided_(e[t])))
									return !1
							}
							return !0
						}, goog.DebugLoader_.prototype.getPathFromDeps_ = function(e) {
							return e in this.idToPath_ ? this.idToPath_[e] : e in this
								.dependencies_ ? e : null
						}, goog.DebugLoader_.prototype.defer_ = function(e, t) {
							this.deferredCallbacks_[e.path] = t, this.deferredQueue_.push(e.path)
						}, goog.LoadController = function() {}, goog.LoadController.prototype
						.pause = function() {}, goog.LoadController.prototype.resume =
					function() {}, goog.LoadController.prototype.loaded = function() {}, goog
						.LoadController.prototype.pending = function() {}, goog.LoadController
						.prototype.registerEs6ModuleExports = function(e, t, r) {}, goog
						.LoadController.prototype.setModuleState = function(e) {}, goog
						.LoadController.prototype.clearModuleState = function() {}, goog
						.LoadController.prototype.defer = function(e) {}, goog.LoadController
						.prototype.areDepsLoaded = function() {}, goog.Dependency = function(e, t,
							r, o, s) {
							this.path = e, this.relativePath = t, this.provides = r, this.requires =
								o, this.loadFlags = s, this.loaded_ = !1, this.loadCallbacks_ = []
						}, goog.Dependency.prototype.getPathName = function() {
							var e = this.path,
								t = e.indexOf("://");
							return 0 <= t && (0 <= (t = (e = e.substring(t + 3)).indexOf("/")) && (
								e = e.substring(t + 1))), e
						}, goog.Dependency.prototype.onLoad = function(e) {
							this.loaded_ ? e() : this.loadCallbacks_.push(e)
						}, goog.Dependency.prototype.loaded = function() {
							this.loaded_ = !0;
							var e = this.loadCallbacks_;
							this.loadCallbacks_ = [];
							for (var t = 0; t < e.length; t++) e[t]()
						}, goog.Dependency.defer_ = !1, goog.Dependency.callbackMap_ = {}, goog
						.Dependency.registerCallback_ = function(e) {
							var t = Math.random().toString(32);
							return goog.Dependency.callbackMap_[t] = e, t
						}, goog.Dependency.unregisterCallback_ = function(e) {
							delete goog.Dependency.callbackMap_[e]
						}, goog.Dependency.callback_ = function(e, t) {
							if (!(e in goog.Dependency.callbackMap_)) throw Error("Callback key " +
								e + " does not exist (was base.js loaded more than once?).");
							for (var r = goog.Dependency.callbackMap_[e], o = [], s = 1; s <
								arguments.length; s++) o.push(arguments[s]);
							r.apply(void 0, o)
						}, goog.Dependency.prototype.load = function(e) {
							if (goog.global.CLOSURE_IMPORT_SCRIPT) goog.global
								.CLOSURE_IMPORT_SCRIPT(this.path) ? e.loaded() : e.pause();
							else if (goog.inHtmlDocument_()) {
								var t = goog.global.document;
								if ("complete" == t.readyState && !goog
									.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) {
									if (/\bdeps.js$/.test(this.path)) return void e.loaded();
									throw Error('Cannot write "' + this.path +
										'" after document load')
								}
								if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING && goog
									.isDocumentLoading_()) {
									var r = goog.Dependency.registerCallback_(function(t) {
											goog.DebugLoader_.IS_OLD_IE_ && "complete" != t
												.readyState || (goog.Dependency
													.unregisterCallback_(r), e.loaded())
										}),
										o = !goog.DebugLoader_.IS_OLD_IE_ && goog.getScriptNonce() ?
										' nonce="' + goog.getScriptNonce() + '"' : "";
									o = '<script src="' + this.path + '" ' + (goog.DebugLoader_
											.IS_OLD_IE_ ? "onreadystatechange" : "onload") +
										"=\"goog.Dependency.callback_('" + r +
										'\', this)" type="text/javascript" ' + (goog.Dependency
											.defer_ ? "defer" : "") + o + "><\/script>", t.write(
											goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_
											.createHTML(o) : o)
								} else {
									var s = t.createElement("script");
									s.defer = goog.Dependency.defer_, s.async = !1, s.type =
										"text/javascript", (o = goog.getScriptNonce()) && s
										.setAttribute("nonce", o), goog.DebugLoader_.IS_OLD_IE_ ? (e
											.pause(), s.onreadystatechange = function() {
												"loaded" != s.readyState && "complete" != s
													.readyState || (e.loaded(), e.resume())
											}) : s.onload = function() {
											s.onload = null, e.loaded()
										}, s.src = goog.TRUSTED_TYPES_POLICY_ ? goog
										.TRUSTED_TYPES_POLICY_.createScriptURL(this.path) : this
										.path, t.head.appendChild(s)
								}
							} else goog.logToConsole_(
									"Cannot use default debug loader outside of HTML documents."),
								"deps.js" == this.relativePath ? (goog.logToConsole_(
									"Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."
									), e.loaded()) : e.pause()
						}, goog.Es6ModuleDependency = function(e, t, r, o, s) {
							goog.Dependency.call(this, e, t, r, o, s)
						}, goog.inherits(goog.Es6ModuleDependency, goog.Dependency), goog
						.Es6ModuleDependency.prototype.load = function(e) {
							if (goog.global.CLOSURE_IMPORT_SCRIPT) goog.global
								.CLOSURE_IMPORT_SCRIPT(this.path) ? e.loaded() : e.pause();
							else if (goog.inHtmlDocument_()) {
								var t = goog.global.document,
									r = this;
								if (goog.isDocumentLoading_()) {
									var o = function(e, r) {
										e = r ? '<script type="module" crossorigin>' + r +
											"<\/script>" :
											'<script type="module" crossorigin src="' + e +
											'"><\/script>', t.write(goog.TRUSTED_TYPES_POLICY_ ?
												goog.TRUSTED_TYPES_POLICY_.createHTML(e) : e)
									};
									goog.Dependency.defer_ = !0
								} else o = function(e, r) {
									var o = t.createElement("script");
									o.defer = !0, o.async = !1, o.type = "module", o
										.setAttribute("crossorigin", !0);
									var s = goog.getScriptNonce();
									s && o.setAttribute("nonce", s), r ? o.textContent = goog
										.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_
										.createScript(r) : r : o.src = goog
										.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_
										.createScriptURL(e) : e, t.head.appendChild(o)
								};
								var s = goog.Dependency.registerCallback_(function() {
									goog.Dependency.unregisterCallback_(s), e
										.setModuleState(goog.ModuleType.ES6)
								});
								o(void 0, 'goog.Dependency.callback_("' + s + '")'), o(this.path,
									void 0);
								var i = goog.Dependency.registerCallback_(function(t) {
									goog.Dependency.unregisterCallback_(i), e
										.registerEs6ModuleExports(r.path, t, goog
											.moduleLoaderState_.moduleName)
								});
								o(void 0, 'import * as m from "' + this.path +
									'"; goog.Dependency.callback_("' + i + '", m)');
								var n = goog.Dependency.registerCallback_(function() {
									goog.Dependency.unregisterCallback_(n), e
										.clearModuleState(), e.loaded()
								});
								o(void 0, 'goog.Dependency.callback_("' + n + '")')
							} else goog.logToConsole_(
									"Cannot use default debug loader outside of HTML documents."), e
								.pause()
						}, goog.TransformedDependency = function(e, t, r, o, s) {
							goog.Dependency.call(this, e, t, r, o, s), this.contents_ = null, this
								.lazyFetch_ = !(goog.inHtmlDocument_() && "noModule" in goog.global
									.document.createElement("script"))
						}, goog.inherits(goog.TransformedDependency, goog.Dependency), goog
						.TransformedDependency.prototype.load = function(e) {
							function t() {
								o.contents_ = goog.loadFileSync_(o.path), o.contents_ && (o
									.contents_ = o.transform(o.contents_), o.contents_ && (o
										.contents_ += "\n//# sourceURL=" + o.path))
							}

							function r() {
								if (o.lazyFetch_ && t(), o.contents_) {
									s && e.setModuleState(goog.ModuleType.ES6);
									try {
										var r = o.contents_;
										if (o.contents_ = null, goog.globalEval(r), s) var i = goog
											.moduleLoaderState_.moduleName
									} finally {
										s && e.clearModuleState()
									}
									s && goog.global.$jscomp.require.ensure([o.getPathName()],
										function() {
											e.registerEs6ModuleExports(o.path, goog.global
												.$jscomp.require(o.getPathName()), i)
										}), e.loaded()
								}
							}
							var o = this;
							if (goog.global.CLOSURE_IMPORT_SCRIPT) t(), this.contents_ && goog
								.global.CLOSURE_IMPORT_SCRIPT("", this.contents_) ? (this
									.contents_ = null, e.loaded()) : e.pause();
							else {
								var s = this.loadFlags.module == goog.ModuleType.ES6;
								this.lazyFetch_ || t();
								var i = 1 < e.pending().length,
									n = i && goog.DebugLoader_.IS_OLD_IE_;
								if (i = goog.Dependency.defer_ && (i || goog.isDocumentLoading_()),
									n || i) e.defer(function() {
									r()
								});
								else {
									var a = goog.global.document;
									if (n = goog.inHtmlDocument_() && "ActiveXObject" in goog
										.global, s && goog.inHtmlDocument_() && goog
										.isDocumentLoading_() && !n) {
										goog.Dependency.defer_ = !0, e.pause();
										var g = a.onreadystatechange;
										a.onreadystatechange = function() {
											"interactive" == a.readyState && (a
													.onreadystatechange = g, r(), e.resume()),
												goog.isFunction(g) && g.apply(void 0, arguments)
										}
									} else !goog.DebugLoader_.IS_OLD_IE_ && goog
									.inHtmlDocument_() && goog.isDocumentLoading_() ? function() {
											var e = goog.global.document,
												t = goog.Dependency.registerCallback_(function() {
													goog.Dependency.unregisterCallback_(t), r()
												}),
												o = '<script type="text/javascript">' + goog
												.protectScriptTag_('goog.Dependency.callback_("' +
													t + '");') + "<\/script>";
											e.write(goog.TRUSTED_TYPES_POLICY_ ? goog
												.TRUSTED_TYPES_POLICY_.createHTML(o) : o)
										}() : r()
								}
							}
						}, goog.TransformedDependency.prototype.transform = function(e) {}, goog
						.TranspiledDependency = function(e, t, r, o, s, i) {
							goog.TransformedDependency.call(this, e, t, r, o, s), this.transpiler =
								i
						}, goog.inherits(goog.TranspiledDependency, goog.TransformedDependency),
						goog.TranspiledDependency.prototype.transform = function(e) {
							return this.transpiler.transpile(e, this.getPathName())
						}, goog.PreTranspiledEs6ModuleDependency = function(e, t, r, o, s) {
							goog.TransformedDependency.call(this, e, t, r, o, s)
						}, goog.inherits(goog.PreTranspiledEs6ModuleDependency, goog
							.TransformedDependency), goog.PreTranspiledEs6ModuleDependency.prototype
						.transform = function(e) {
							return e
						}, goog.GoogModuleDependency = function(e, t, r, o, s, i, n) {
							goog.TransformedDependency.call(this, e, t, r, o, s), this
								.needsTranspile_ = i, this.transpiler_ = n
						}, goog.inherits(goog.GoogModuleDependency, goog.TransformedDependency),
						goog.GoogModuleDependency.prototype.transform = function(e) {
							return this.needsTranspile_ && (e = this.transpiler_.transpile(e, this
									.getPathName())), goog.LOAD_MODULE_USING_EVAL && void 0 !== goog
								.global.JSON ? "goog.loadModule(" + goog.global.JSON.stringify(e +
									"\n//# sourceURL=" + this.path + "\n") + ");" :
								'goog.loadModule(function(exports) {"use strict";' + e +
								"\n;return exports});\n//# sourceURL=" + this.path + "\n"
						}, goog.DebugLoader_.IS_OLD_IE_ = !(goog.global.atob || !goog.global
							.document || !goog.global.document.all), goog.DebugLoader_.prototype
						.addDependency = function(e, t, r, o) {
							t = t || [], e = e.replace(/\\/g, "/");
							var s = goog.normalizePath_(goog.basePath + e);
							for (o && "boolean" != typeof o || (o = o ? {
									module: goog.ModuleType.GOOG
								} : {}), r = this.factory_.createDependency(s, e, t, r, o, goog
									.transpiler_.needsTranspile(o.lang || "es3", o.module)), this
								.dependencies_[s] = r, r = 0; r < t.length; r++) this.idToPath_[t[
								r]] = s;
							this.idToPath_[e] = s
						}, goog.DependencyFactory = function(e) {
							this.transpiler = e
						}, goog.DependencyFactory.prototype.createDependency = function(e, t, r, o,
							s, i) {
							return s.module == goog.ModuleType.GOOG ? new goog.GoogModuleDependency(
									e, t, r, o, s, i, this.transpiler) : i ? new goog
								.TranspiledDependency(e, t, r, o, s, this.transpiler) : s.module ==
								goog.ModuleType.ES6 ? "never" == goog.TRANSPILE && goog
								.ASSUME_ES_MODULES_TRANSPILED ? new goog
								.PreTranspiledEs6ModuleDependency(e, t, r, o, s) : new goog
								.Es6ModuleDependency(e, t, r, o, s) : new goog.Dependency(e, t, r,
									o, s)
						}, goog.debugLoader_ = new goog.DebugLoader_, goog.loadClosureDeps =
						function() {
							goog.debugLoader_.loadClosureDeps()
						}, goog.setDependencyFactory = function(e) {
							goog.debugLoader_.setDependencyFactory(e)
						}, goog.global.CLOSURE_NO_DEPS || goog.debugLoader_.loadClosureDeps(), goog
						.bootstrap = function(e, t) {
							goog.debugLoader_.bootstrap(e, t)
						}), goog.TRUSTED_TYPES_POLICY_NAME = "", goog.identity_ = function(e) {
						return e
					}, goog.createTrustedTypesPolicy = function(e) {
						var t = null,
							r = goog.global.trustedTypes || goog.global.TrustedTypes;
						if (!r || !r.createPolicy) return t;
						try {
							t = r.createPolicy(e, {
								createHTML: goog.identity_,
								createScript: goog.identity_,
								createScriptURL: goog.identity_,
								createURL: goog.identity_
							})
						} catch (e) {
							goog.logToConsole_(e.message)
						}
						return t
					}, goog.TRUSTED_TYPES_POLICY_ = goog.TRUSTED_TYPES_POLICY_NAME ? goog
					.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME + "#base") : null, goog
					.object = {}, goog.object.is = function(e, t) {
						return e === t ? 0 !== e || 1 / e == 1 / t : e != e && t != t
					}, goog.object.forEach = function(e, t, r) {
						for (var o in e) t.call(r, e[o], o, e)
					}, goog.object.filter = function(e, t, r) {
						var o, s = {};
						for (o in e) t.call(r, e[o], o, e) && (s[o] = e[o]);
						return s
					}, goog.object.map = function(e, t, r) {
						var o, s = {};
						for (o in e) s[o] = t.call(r, e[o], o, e);
						return s
					}, goog.object.some = function(e, t, r) {
						for (var o in e)
							if (t.call(r, e[o], o, e)) return !0;
						return !1
					}, goog.object.every = function(e, t, r) {
						for (var o in e)
							if (!t.call(r, e[o], o, e)) return !1;
						return !0
					}, goog.object.getCount = function(e) {
						var t, r = 0;
						for (t in e) r++;
						return r
					}, goog.object.getAnyKey = function(e) {
						for (var t in e) return t
					}, goog.object.getAnyValue = function(e) {
						for (var t in e) return e[t]
					}, goog.object.contains = function(e, t) {
						return goog.object.containsValue(e, t)
					}, goog.object.getValues = function(e) {
						var t, r = [],
							o = 0;
						for (t in e) r[o++] = e[t];
						return r
					}, goog.object.getKeys = function(e) {
						var t, r = [],
							o = 0;
						for (t in e) r[o++] = t;
						return r
					}, goog.object.getValueByKeys = function(e, t) {
						var r = goog.isArrayLike(t),
							o = r ? t : arguments;
						for (r = r ? 0 : 1; r < o.length; r++) {
							if (null == e) return;
							e = e[o[r]]
						}
						return e
					}, goog.object.containsKey = function(e, t) {
						return null !== e && t in e
					}, goog.object.containsValue = function(e, t) {
						for (var r in e)
							if (e[r] == t) return !0;
						return !1
					}, goog.object.findKey = function(e, t, r) {
						for (var o in e)
							if (t.call(r, e[o], o, e)) return o
					}, goog.object.findValue = function(e, t, r) {
						return (t = goog.object.findKey(e, t, r)) && e[t]
					}, goog.object.isEmpty = function(e) {
						for (var t in e) return !1;
						return !0
					}, goog.object.clear = function(e) {
						for (var t in e) delete e[t]
					}, goog.object.remove = function(e, t) {
						var r;
						return (r = t in e) && delete e[t], r
					}, goog.object.add = function(e, t, r) {
						if (null !== e && t in e) throw Error(
							'The object already contains the key "' + t + '"');
						goog.object.set(e, t, r)
					}, goog.object.get = function(e, t, r) {
						return null !== e && t in e ? e[t] : r
					}, goog.object.set = function(e, t, r) {
						e[t] = r
					}, goog.object.setIfUndefined = function(e, t, r) {
						return t in e ? e[t] : e[t] = r
					}, goog.object.setWithReturnValueIfNotSet = function(e, t, r) {
						return t in e ? e[t] : (r = r(), e[t] = r)
					}, goog.object.equals = function(e, t) {
						for (var r in e)
							if (!(r in t) || e[r] !== t[r]) return !1;
						for (var o in t)
							if (!(o in e)) return !1;
						return !0
					}, goog.object.clone = function(e) {
						var t, r = {};
						for (t in e) r[t] = e[t];
						return r
					}, goog.object.unsafeClone = function(e) {
						var t = goog.typeOf(e);
						if ("object" == t || "array" == t) {
							if (goog.isFunction(e.clone)) return e.clone();
							for (var r in t = "array" == t ? [] : {}, e) t[r] = goog.object
								.unsafeClone(e[r]);
							return t
						}
						return e
					}, goog.object.transpose = function(e) {
						var t, r = {};
						for (t in e) r[e[t]] = t;
						return r
					}, goog.object.PROTOTYPE_FIELDS_ =
					"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf"
					.split(" "), goog.object.extend = function(e, t) {
						for (var r, o, s = 1; s < arguments.length; s++) {
							for (r in o = arguments[s]) e[r] = o[r];
							for (var i = 0; i < goog.object.PROTOTYPE_FIELDS_.length; i++) r = goog
								.object.PROTOTYPE_FIELDS_[i], Object.prototype.hasOwnProperty.call(
									o, r) && (e[r] = o[r])
						}
					}, goog.object.create = function(e) {
						var t = arguments.length;
						if (1 == t && Array.isArray(arguments[0])) return goog.object.create.apply(
							null, arguments[0]);
						if (t % 2) throw Error("Uneven number of arguments");
						for (var r = {}, o = 0; o < t; o += 2) r[arguments[o]] = arguments[o + 1];
						return r
					}, goog.object.createSet = function(e) {
						var t = arguments.length;
						if (1 == t && Array.isArray(arguments[0])) return goog.object.createSet
							.apply(null, arguments[0]);
						for (var r = {}, o = 0; o < t; o++) r[arguments[o]] = !0;
						return r
					}, goog.object.createImmutableView = function(e) {
						var t = e;
						return Object.isFrozen && !Object.isFrozen(e) && (t = Object.create(e),
							Object.freeze(t)), t
					}, goog.object.isImmutableView = function(e) {
						return !!Object.isFrozen && Object.isFrozen(e)
					}, goog.object.getAllPropertyNames = function(e, t, r) {
						if (!e) return [];
						if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) return goog
							.object.getKeys(e);
						for (var o = {}; e && (e !== Object.prototype || t) && (e !== Function
								.prototype || r);) {
							for (var s = Object.getOwnPropertyNames(e), i = 0; i < s.length; i++) o[
								s[i]] = !0;
							e = Object.getPrototypeOf(e)
						}
						return goog.object.getKeys(o)
					}, goog.object.getSuperClass = function(e) {
						return (e = Object.getPrototypeOf(e.prototype)) && e.constructor
					};
				var jspb = {
					asserts: {}
				};
				jspb.asserts.doAssertFailure = function(e, t, r, o) {
						var s = "Assertion failed";
						if (r) {
							s += ": " + r;
							var i = o
						} else e && (s += ": " + e, i = t);
						throw Error("" + s, i || [])
					}, jspb.asserts.assert = function(e, t, r) {
						for (var o = [], s = 2; s < arguments.length; ++s) o[s - 2] = arguments[s];
						return e || jspb.asserts.doAssertFailure("", null, t, o), e
					}, jspb.asserts.assertString = function(e, t, r) {
						for (var o = [], s = 2; s < arguments.length; ++s) o[s - 2] = arguments[s];
						return "string" != typeof e && jspb.asserts.doAssertFailure(
							"Expected string but got %s: %s.", [goog.typeOf(e), e], t, o), e
					}, jspb.asserts.assertArray = function(e, t, r) {
						for (var o = [], s = 2; s < arguments.length; ++s) o[s - 2] = arguments[s];
						return Array.isArray(e) || jspb.asserts.doAssertFailure(
							"Expected array but got %s: %s.", [goog.typeOf(e), e], t, o), e
					}, jspb.asserts.fail = function(e, t) {
						for (var r = [], o = 1; o < arguments.length; ++o) r[o - 1] = arguments[o];
						throw Error("Failure" + (e ? ": " + e : ""), r)
					}, jspb.asserts.assertInstanceof = function(e, t, r, o) {
						for (var s = [], i = 3; i < arguments.length; ++i) s[i - 3] = arguments[i];
						return e instanceof t || jspb.asserts.doAssertFailure(
							"Expected instanceof %s but got %s.", [jspb.asserts.getType(t), jspb
								.asserts.getType(e)
							], r, s), e
					}, jspb.asserts.getType = function(e) {
						return e instanceof Function ? e.displayName || e.name ||
							"unknown type name" : e instanceof Object ? e.constructor.displayName ||
							e.constructor.name || Object.prototype.toString.call(e) : null === e ?
							"null" : typeof e
					}, jspb.BinaryConstants = {}, jspb.ConstBinaryMessage = function() {}, jspb
					.BinaryMessage = function() {}, jspb.BinaryConstants.FieldType = {
						INVALID: -1,
						DOUBLE: 1,
						FLOAT: 2,
						INT64: 3,
						UINT64: 4,
						INT32: 5,
						FIXED64: 6,
						FIXED32: 7,
						BOOL: 8,
						STRING: 9,
						GROUP: 10,
						MESSAGE: 11,
						BYTES: 12,
						UINT32: 13,
						ENUM: 14,
						SFIXED32: 15,
						SFIXED64: 16,
						SINT32: 17,
						SINT64: 18,
						FHASH64: 30,
						VHASH64: 31
					}, jspb.BinaryConstants.WireType = {
						INVALID: -1,
						VARINT: 0,
						FIXED64: 1,
						DELIMITED: 2,
						START_GROUP: 3,
						END_GROUP: 4,
						FIXED32: 5
					}, jspb.BinaryConstants.FieldTypeToWireType = function(e) {
						var t = jspb.BinaryConstants.FieldType,
							r = jspb.BinaryConstants.WireType;
						switch (e) {
							case t.INT32:
							case t.INT64:
							case t.UINT32:
							case t.UINT64:
							case t.SINT32:
							case t.SINT64:
							case t.BOOL:
							case t.ENUM:
							case t.VHASH64:
								return r.VARINT;
							case t.DOUBLE:
							case t.FIXED64:
							case t.SFIXED64:
							case t.FHASH64:
								return r.FIXED64;
							case t.STRING:
							case t.MESSAGE:
							case t.BYTES:
								return r.DELIMITED;
							case t.FLOAT:
							case t.FIXED32:
							case t.SFIXED32:
								return r.FIXED32;
							default:
								return r.INVALID
						}
					}, jspb.BinaryConstants.INVALID_FIELD_NUMBER = -1, jspb.BinaryConstants
					.FLOAT32_EPS = 1.401298464324817e-45, jspb.BinaryConstants.FLOAT32_MIN =
					1.1754943508222875e-38, jspb.BinaryConstants.FLOAT32_MAX =
					3.4028234663852886e38, jspb.BinaryConstants.FLOAT64_EPS = 5e-324, jspb
					.BinaryConstants.FLOAT64_MIN = 2.2250738585072014e-308, jspb.BinaryConstants
					.FLOAT64_MAX = 1.7976931348623157e308, jspb.BinaryConstants.TWO_TO_20 = 1048576,
					jspb.BinaryConstants.TWO_TO_23 = 8388608, jspb.BinaryConstants.TWO_TO_31 =
					2147483648, jspb.BinaryConstants.TWO_TO_32 = 4294967296, jspb.BinaryConstants
					.TWO_TO_52 = 4503599627370496, jspb.BinaryConstants.TWO_TO_63 =
					0x8000000000000000, jspb.BinaryConstants.TWO_TO_64 = 0x10000000000000000, jspb
					.BinaryConstants.ZERO_HASH = "\0\0\0\0\0\0\0\0", goog.debug = {}, goog.debug
					.Error = function(e) {
						if (Error.captureStackTrace) Error.captureStackTrace(this, goog.debug
						.Error);
						else {
							var t = Error().stack;
							t && (this.stack = t)
						}
						e && (this.message = String(e)), this.reportErrorToServer = !0
					}, goog.inherits(goog.debug.Error, Error), goog.debug.Error.prototype.name =
					"CustomError", goog.dom = {}, goog.dom.NodeType = {
						ELEMENT: 1,
						ATTRIBUTE: 2,
						TEXT: 3,
						CDATA_SECTION: 4,
						ENTITY_REFERENCE: 5,
						ENTITY: 6,
						PROCESSING_INSTRUCTION: 7,
						COMMENT: 8,
						DOCUMENT: 9,
						DOCUMENT_TYPE: 10,
						DOCUMENT_FRAGMENT: 11,
						NOTATION: 12
					}, goog.asserts = {}, goog.asserts.ENABLE_ASSERTS = goog.DEBUG, goog.asserts
					.AssertionError = function(e, t) {
						goog.debug.Error.call(this, goog.asserts.subs_(e, t)), this.messagePattern =
							e
					}, goog.inherits(goog.asserts.AssertionError, goog.debug.Error), goog.asserts
					.AssertionError.prototype.name = "AssertionError", goog.asserts
					.DEFAULT_ERROR_HANDLER = function(e) {
						throw e
					}, goog.asserts.errorHandler_ = goog.asserts.DEFAULT_ERROR_HANDLER, goog.asserts
					.subs_ = function(e, t) {
						for (var r = "", o = (e = e.split("%s")).length - 1, s = 0; s < o; s++) r +=
							e[s] + (s < t.length ? t[s] : "%s");
						return r + e[o]
					}, goog.asserts.doAssertFailure_ = function(e, t, r, o) {
						var s = "Assertion failed";
						if (r) {
							s += ": " + r;
							var i = o
						} else e && (s += ": " + e, i = t);
						e = new goog.asserts.AssertionError("" + s, i || []), goog.asserts
							.errorHandler_(e)
					}, goog.asserts.setErrorHandler = function(e) {
						goog.asserts.ENABLE_ASSERTS && (goog.asserts.errorHandler_ = e)
					}, goog.asserts.assert = function(e, t, r) {
						return goog.asserts.ENABLE_ASSERTS && !e && goog.asserts.doAssertFailure_(
							"", null, t, Array.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertExists = function(e, t, r) {
						return goog.asserts.ENABLE_ASSERTS && null == e && goog.asserts
							.doAssertFailure_("Expected to exist: %s.", [e], t, Array.prototype
								.slice.call(arguments, 2)), e
					}, goog.asserts.fail = function(e, t) {
						goog.asserts.ENABLE_ASSERTS && goog.asserts.errorHandler_(new goog.asserts
							.AssertionError("Failure" + (e ? ": " + e : ""), Array.prototype
								.slice.call(arguments, 1)))
					}, goog.asserts.assertNumber = function(e, t, r) {
						return goog.asserts.ENABLE_ASSERTS && "number" != typeof e && goog.asserts
							.doAssertFailure_("Expected number but got %s: %s.", [goog.typeOf(e),
								e], t, Array.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertString = function(e, t, r) {
						return goog.asserts.ENABLE_ASSERTS && "string" != typeof e && goog.asserts
							.doAssertFailure_("Expected string but got %s: %s.", [goog.typeOf(e),
								e], t, Array.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertFunction = function(e, t, r) {
						return goog.asserts.ENABLE_ASSERTS && !goog.isFunction(e) && goog.asserts
							.doAssertFailure_("Expected function but got %s: %s.", [goog.typeOf(e),
								e
							], t, Array.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertObject = function(e, t, r) {
						return goog.asserts.ENABLE_ASSERTS && !goog.isObject(e) && goog.asserts
							.doAssertFailure_("Expected object but got %s: %s.", [goog.typeOf(e),
								e], t, Array.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertArray = function(e, t, r) {
						return goog.asserts.ENABLE_ASSERTS && !Array.isArray(e) && goog.asserts
							.doAssertFailure_("Expected array but got %s: %s.", [goog.typeOf(e), e],
								t, Array.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertBoolean = function(e, t, r) {
						return goog.asserts.ENABLE_ASSERTS && "boolean" != typeof e && goog.asserts
							.doAssertFailure_("Expected boolean but got %s: %s.", [goog.typeOf(e),
								e], t, Array.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertElement = function(e, t, r) {
						return !goog.asserts.ENABLE_ASSERTS || goog.isObject(e) && e.nodeType ==
							goog.dom.NodeType.ELEMENT || goog.asserts.doAssertFailure_(
								"Expected Element but got %s: %s.", [goog.typeOf(e), e], t, Array
								.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertInstanceof = function(e, t, r, o) {
						return !goog.asserts.ENABLE_ASSERTS || e instanceof t || goog.asserts
							.doAssertFailure_("Expected instanceof %s but got %s.", [goog.asserts
								.getType_(t), goog.asserts.getType_(e)
							], r, Array.prototype.slice.call(arguments, 3)), e
					}, goog.asserts.assertFinite = function(e, t, r) {
						return !goog.asserts.ENABLE_ASSERTS || "number" == typeof e && isFinite(
							e) || goog.asserts.doAssertFailure_(
								"Expected %s to be a finite number but it is not.", [e], t, Array
								.prototype.slice.call(arguments, 2)), e
					}, goog.asserts.assertObjectPrototypeIsIntact = function() {
						for (var e in Object.prototype) goog.asserts.fail(e +
							" should not be enumerable in Object.prototype.")
					}, goog.asserts.getType_ = function(e) {
						return e instanceof Function ? e.displayName || e.name ||
							"unknown type name" : e instanceof Object ? e.constructor.displayName ||
							e.constructor.name || Object.prototype.toString.call(e) : null === e ?
							"null" : typeof e
					}, goog.array = {}, goog.NATIVE_ARRAY_PROTOTYPES = goog.TRUSTED_SITE, goog.array
					.ASSUME_NATIVE_FUNCTIONS = 2012 < goog.FEATURESET_YEAR, goog.array.peek =
					function(e) {
						return e[e.length - 1]
					}, goog.array.last = goog.array.peek, goog.array.indexOf = goog
					.NATIVE_ARRAY_PROTOTYPES && (goog.array.ASSUME_NATIVE_FUNCTIONS || Array
						.prototype.indexOf) ? function(e, t, r) {
						return goog.asserts.assert(null != e.length), Array.prototype.indexOf.call(
							e, t, r)
					} : function(e, t, r) {
						if (r = null == r ? 0 : 0 > r ? Math.max(0, e.length + r) : r, "string" ==
							typeof e) return "string" != typeof t || 1 != t.length ? -1 : e.indexOf(
							t, r);
						for (; r < e.length; r++)
							if (r in e && e[r] === t) return r;
						return -1
					}, goog.array.lastIndexOf = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array
						.ASSUME_NATIVE_FUNCTIONS || Array.prototype.lastIndexOf) ? function(e, t,
					r) {
						return goog.asserts.assert(null != e.length), Array.prototype.lastIndexOf
							.call(e, t, null == r ? e.length - 1 : r)
					} : function(e, t, r) {
						if (0 > (r = null == r ? e.length - 1 : r) && (r = Math.max(0, e.length +
								r)), "string" == typeof e) return "string" != typeof t || 1 != t
							.length ? -1 : e.lastIndexOf(t, r);
						for (; 0 <= r; r--)
							if (r in e && e[r] === t) return r;
						return -1
					}, goog.array.forEach = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array
						.ASSUME_NATIVE_FUNCTIONS || Array.prototype.forEach) ? function(e, t, r) {
						goog.asserts.assert(null != e.length), Array.prototype.forEach.call(e, t, r)
					} : function(e, t, r) {
						for (var o = e.length, s = "string" == typeof e ? e.split("") : e, i =
							0; i < o; i++) i in s && t.call(r, s[i], i, e)
					}, goog.array.forEachRight = function(e, t, r) {
						var o = e.length,
							s = "string" == typeof e ? e.split("") : e;
						for (--o; 0 <= o; --o) o in s && t.call(r, s[o], o, e)
					}, goog.array.filter = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array
						.ASSUME_NATIVE_FUNCTIONS || Array.prototype.filter) ? function(e, t, r) {
						return goog.asserts.assert(null != e.length), Array.prototype.filter.call(e,
							t, r)
					} : function(e, t, r) {
						for (var o = e.length, s = [], i = 0, n = "string" == typeof e ? e.split(
								"") : e, a = 0; a < o; a++)
							if (a in n) {
								var g = n[a];
								t.call(r, g, a, e) && (s[i++] = g)
							} return s
					}, goog.array.map = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array
						.ASSUME_NATIVE_FUNCTIONS || Array.prototype.map) ? function(e, t, r) {
						return goog.asserts.assert(null != e.length), Array.prototype.map.call(e, t,
							r)
					} : function(e, t, r) {
						for (var o = e.length, s = Array(o), i = "string" == typeof e ? e.split(
								"") : e, n = 0; n < o; n++) n in i && (s[n] = t.call(r, i[n], n,
						e));
						return s
					}, goog.array.reduce = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array
						.ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduce) ? function(e, t, r, o) {
						return goog.asserts.assert(null != e.length), o && (t = goog.bind(t, o)),
							Array.prototype.reduce.call(e, t, r)
					} : function(e, t, r, o) {
						var s = r;
						return goog.array.forEach(e, function(r, i) {
							s = t.call(o, s, r, i, e)
						}), s
					}, goog.array.reduceRight = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array
						.ASSUME_NATIVE_FUNCTIONS || Array.prototype.reduceRight) ? function(e, t, r,
						o) {
						return goog.asserts.assert(null != e.length), goog.asserts.assert(null !=
							t), o && (t = goog.bind(t, o)), Array.prototype.reduceRight.call(e, t,
								r)
					} : function(e, t, r, o) {
						var s = r;
						return goog.array.forEachRight(e, function(r, i) {
							s = t.call(o, s, r, i, e)
						}), s
					}, goog.array.some = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array
						.ASSUME_NATIVE_FUNCTIONS || Array.prototype.some) ? function(e, t, r) {
						return goog.asserts.assert(null != e.length), Array.prototype.some.call(e,
							t, r)
					} : function(e, t, r) {
						for (var o = e.length, s = "string" == typeof e ? e.split("") : e, i =
							0; i < o; i++)
							if (i in s && t.call(r, s[i], i, e)) return !0;
						return !1
					}, goog.array.every = goog.NATIVE_ARRAY_PROTOTYPES && (goog.array
						.ASSUME_NATIVE_FUNCTIONS || Array.prototype.every) ? function(e, t, r) {
						return goog.asserts.assert(null != e.length), Array.prototype.every.call(e,
							t, r)
					} : function(e, t, r) {
						for (var o = e.length, s = "string" == typeof e ? e.split("") : e, i =
							0; i < o; i++)
							if (i in s && !t.call(r, s[i], i, e)) return !1;
						return !0
					}, goog.array.count = function(e, t, r) {
						var o = 0;
						return goog.array.forEach(e, function(e, s, i) {
							t.call(r, e, s, i) && ++o
						}, r), o
					}, goog.array.find = function(e, t, r) {
						return 0 > (t = goog.array.findIndex(e, t, r)) ? null : "string" ==
							typeof e ? e.charAt(t) : e[t]
					}, goog.array.findIndex = function(e, t, r) {
						for (var o = e.length, s = "string" == typeof e ? e.split("") : e, i =
							0; i < o; i++)
							if (i in s && t.call(r, s[i], i, e)) return i;
						return -1
					}, goog.array.findRight = function(e, t, r) {
						return 0 > (t = goog.array.findIndexRight(e, t, r)) ? null : "string" ==
							typeof e ? e.charAt(t) : e[t]
					}, goog.array.findIndexRight = function(e, t, r) {
						var o = e.length,
							s = "string" == typeof e ? e.split("") : e;
						for (--o; 0 <= o; o--)
							if (o in s && t.call(r, s[o], o, e)) return o;
						return -1
					}, goog.array.contains = function(e, t) {
						return 0 <= goog.array.indexOf(e, t)
					}, goog.array.isEmpty = function(e) {
						return 0 == e.length
					}, goog.array.clear = function(e) {
						if (!Array.isArray(e))
							for (var t = e.length - 1; 0 <= t; t--) delete e[t];
						e.length = 0
					}, goog.array.insert = function(e, t) {
						goog.array.contains(e, t) || e.push(t)
					}, goog.array.insertAt = function(e, t, r) {
						goog.array.splice(e, r, 0, t)
					}, goog.array.insertArrayAt = function(e, t, r) {
						goog.partial(goog.array.splice, e, r, 0).apply(null, t)
					}, goog.array.insertBefore = function(e, t, r) {
						var o;
						2 == arguments.length || 0 > (o = goog.array.indexOf(e, r)) ? e.push(t) :
							goog.array.insertAt(e, t, o)
					}, goog.array.remove = function(e, t) {
						var r;
						return (r = 0 <= (t = goog.array.indexOf(e, t))) && goog.array.removeAt(e,
							t), r
					}, goog.array.removeLast = function(e, t) {
						return 0 <= (t = goog.array.lastIndexOf(e, t)) && (goog.array.removeAt(e,
							t), !0)
					}, goog.array.removeAt = function(e, t) {
						return goog.asserts.assert(null != e.length), 1 == Array.prototype.splice
							.call(e, t, 1).length
					}, goog.array.removeIf = function(e, t, r) {
						return 0 <= (t = goog.array.findIndex(e, t, r)) && (goog.array.removeAt(e,
							t), !0)
					}, goog.array.removeAllIf = function(e, t, r) {
						var o = 0;
						return goog.array.forEachRight(e, function(s, i) {
							t.call(r, s, i, e) && goog.array.removeAt(e, i) && o++
						}), o
					}, goog.array.concat = function(e) {
						return Array.prototype.concat.apply([], arguments)
					}, goog.array.join = function(e) {
						return Array.prototype.concat.apply([], arguments)
					}, goog.array.toArray = function(e) {
						var t = e.length;
						if (0 < t) {
							for (var r = Array(t), o = 0; o < t; o++) r[o] = e[o];
							return r
						}
						return []
					}, goog.array.clone = goog.array.toArray, goog.array.extend = function(e, t) {
						for (var r = 1; r < arguments.length; r++) {
							var o = arguments[r];
							if (goog.isArrayLike(o)) {
								var s = e.length || 0,
									i = o.length || 0;
								e.length = s + i;
								for (var n = 0; n < i; n++) e[s + n] = o[n]
							} else e.push(o)
						}
					}, goog.array.splice = function(e, t, r, o) {
						return goog.asserts.assert(null != e.length), Array.prototype.splice.apply(
							e, goog.array.slice(arguments, 1))
					}, goog.array.slice = function(e, t, r) {
						return goog.asserts.assert(null != e.length), 2 >= arguments.length ? Array
							.prototype.slice.call(e, t) : Array.prototype.slice.call(e, t, r)
					}, goog.array.removeDuplicates = function(e, t, r) {
						t = t || e;
						var o = function(e) {
							return goog.isObject(e) ? "o" + goog.getUid(e) : (typeof e).charAt(
								0) + e
						};
						r = r || o, o = {};
						for (var s = 0, i = 0; i < e.length;) {
							var n = e[i++],
								a = r(n);
							Object.prototype.hasOwnProperty.call(o, a) || (o[a] = !0, t[s++] = n)
						}
						t.length = s
					}, goog.array.binarySearch = function(e, t, r) {
						return goog.array.binarySearch_(e, r || goog.array.defaultCompare, !1, t)
					}, goog.array.binarySelect = function(e, t, r) {
						return goog.array.binarySearch_(e, t, !0, void 0, r)
					}, goog.array.binarySearch_ = function(e, t, r, o, s) {
						for (var i, n = 0, a = e.length; n < a;) {
							var g = n + (a - n >>> 1),
								p = r ? t.call(s, e[g], g, e) : t(o, e[g]);
							0 < p ? n = g + 1 : (a = g, i = !p)
						}
						return i ? n : -n - 1
					}, goog.array.sort = function(e, t) {
						e.sort(t || goog.array.defaultCompare)
					}, goog.array.stableSort = function(e, t) {
						for (var r = Array(e.length), o = 0; o < e.length; o++) r[o] = {
							index: o,
							value: e[o]
						};
						var s = t || goog.array.defaultCompare;
						for (goog.array.sort(r, function(e, t) {
								return s(e.value, t.value) || e.index - t.index
							}), o = 0; o < e.length; o++) e[o] = r[o].value
					}, goog.array.sortByKey = function(e, t, r) {
						var o = r || goog.array.defaultCompare;
						goog.array.sort(e, function(e, r) {
							return o(t(e), t(r))
						})
					}, goog.array.sortObjectsByKey = function(e, t, r) {
						goog.array.sortByKey(e, function(e) {
							return e[t]
						}, r)
					}, goog.array.isSorted = function(e, t, r) {
						t = t || goog.array.defaultCompare;
						for (var o = 1; o < e.length; o++) {
							var s = t(e[o - 1], e[o]);
							if (0 < s || 0 == s && r) return !1
						}
						return !0
					}, goog.array.equals = function(e, t, r) {
						if (!goog.isArrayLike(e) || !goog.isArrayLike(t) || e.length != t.length)
							return !1;
						var o = e.length;
						r = r || goog.array.defaultCompareEquality;
						for (var s = 0; s < o; s++)
							if (!r(e[s], t[s])) return !1;
						return !0
					}, goog.array.compare3 = function(e, t, r) {
						r = r || goog.array.defaultCompare;
						for (var o = Math.min(e.length, t.length), s = 0; s < o; s++) {
							var i = r(e[s], t[s]);
							if (0 != i) return i
						}
						return goog.array.defaultCompare(e.length, t.length)
					}, goog.array.defaultCompare = function(e, t) {
						return e > t ? 1 : e < t ? -1 : 0
					}, goog.array.inverseDefaultCompare = function(e, t) {
						return -goog.array.defaultCompare(e, t)
					}, goog.array.defaultCompareEquality = function(e, t) {
						return e === t
					}, goog.array.binaryInsert = function(e, t, r) {
						return 0 > (r = goog.array.binarySearch(e, t, r)) && (goog.array.insertAt(e,
							t, -(r + 1)), !0)
					}, goog.array.binaryRemove = function(e, t, r) {
						return 0 <= (t = goog.array.binarySearch(e, t, r)) && goog.array.removeAt(e,
							t)
					}, goog.array.bucket = function(e, t, r) {
						for (var o = {}, s = 0; s < e.length; s++) {
							var i = e[s],
								n = t.call(r, i, s, e);
							void 0 !== n && (o[n] || (o[n] = [])).push(i)
						}
						return o
					}, goog.array.toObject = function(e, t, r) {
						var o = {};
						return goog.array.forEach(e, function(s, i) {
							o[t.call(r, s, i, e)] = s
						}), o
					}, goog.array.range = function(e, t, r) {
						var o = [],
							s = 0,
							i = e;
						if (void 0 !== t && (s = e, i = t), 0 > (r = r || 1) * (i - s)) return [];
						if (0 < r)
							for (e = s; e < i; e += r) o.push(e);
						else
							for (e = s; e > i; e += r) o.push(e);
						return o
					}, goog.array.repeat = function(e, t) {
						for (var r = [], o = 0; o < t; o++) r[o] = e;
						return r
					}, goog.array.flatten = function(e) {
						for (var t = [], r = 0; r < arguments.length; r++) {
							var o = arguments[r];
							if (Array.isArray(o))
								for (var s = 0; s < o.length; s += 8192) {
									var i = goog.array.slice(o, s, s + 8192);
									i = goog.array.flatten.apply(null, i);
									for (var n = 0; n < i.length; n++) t.push(i[n])
								} else t.push(o)
						}
						return t
					}, goog.array.rotate = function(e, t) {
						return goog.asserts.assert(null != e.length), e.length && (0 < (t %= e
								.length) ? Array.prototype.unshift.apply(e, e.splice(-t, t)) :
							0 > t && Array.prototype.push.apply(e, e.splice(0, -t))), e
					}, goog.array.moveItem = function(e, t, r) {
						goog.asserts.assert(0 <= t && t < e.length), goog.asserts.assert(0 <= r &&
								r < e.length), t = Array.prototype.splice.call(e, t, 1), Array
							.prototype.splice.call(e, r, 0, t[0])
					}, goog.array.zip = function(e) {
						if (!arguments.length) return [];
						for (var t = [], r = arguments[0].length, o = 1; o < arguments.length; o++)
							arguments[o].length < r && (r = arguments[o].length);
						for (o = 0; o < r; o++) {
							for (var s = [], i = 0; i < arguments.length; i++) s.push(arguments[i][
								o]);
							t.push(s)
						}
						return t
					}, goog.array.shuffle = function(e, t) {
						t = t || Math.random;
						for (var r = e.length - 1; 0 < r; r--) {
							var o = Math.floor(t() * (r + 1)),
								s = e[r];
							e[r] = e[o], e[o] = s
						}
					}, goog.array.copyByIndex = function(e, t) {
						var r = [];
						return goog.array.forEach(t, function(t) {
							r.push(e[t])
						}), r
					}, goog.array.concatMap = function(e, t, r) {
						return goog.array.concat.apply([], goog.array.map(e, t, r))
					}, goog.crypt = {}, goog.crypt.stringToByteArray = function(e) {
						for (var t = [], r = 0, o = 0; o < e.length; o++) {
							var s = e.charCodeAt(o);
							255 < s && (t[r++] = 255 & s, s >>= 8), t[r++] = s
						}
						return t
					}, goog.crypt.byteArrayToString = function(e) {
						if (8192 >= e.length) return String.fromCharCode.apply(null, e);
						for (var t = "", r = 0; r < e.length; r += 8192) {
							var o = goog.array.slice(e, r, r + 8192);
							t += String.fromCharCode.apply(null, o)
						}
						return t
					}, goog.crypt.byteArrayToHex = function(e, t) {
						return goog.array.map(e, function(e) {
							return 1 < (e = e.toString(16)).length ? e : "0" + e
						}).join(t || "")
					}, goog.crypt.hexToByteArray = function(e) {
						goog.asserts.assert(0 == e.length % 2,
							"Key string length must be multiple of 2");
						for (var t = [], r = 0; r < e.length; r += 2) t.push(parseInt(e.substring(r,
							r + 2), 16));
						return t
					}, goog.crypt.stringToUtf8ByteArray = function(e) {
						for (var t = [], r = 0, o = 0; o < e.length; o++) {
							var s = e.charCodeAt(o);
							128 > s ? t[r++] = s : (2048 > s ? t[r++] = s >> 6 | 192 : (55296 == (
									64512 & s) && o + 1 < e.length && 56320 == (64512 & e
									.charCodeAt(o + 1)) ? (s = 65536 + ((1023 & s) << 10) +
									(1023 & e.charCodeAt(++o)), t[r++] = s >> 18 | 240, t[
										r++] = s >> 12 & 63 | 128) : t[r++] = s >> 12 | 224,
								t[r++] = s >> 6 & 63 | 128), t[r++] = 63 & s | 128)
						}
						return t
					}, goog.crypt.utf8ByteArrayToString = function(e) {
						for (var t = [], r = 0, o = 0; r < e.length;) {
							var s = e[r++];
							if (128 > s) t[o++] = String.fromCharCode(s);
							else if (191 < s && 224 > s) {
								var i = e[r++];
								t[o++] = String.fromCharCode((31 & s) << 6 | 63 & i)
							} else if (239 < s && 365 > s) {
								i = e[r++];
								var n = e[r++];
								s = ((7 & s) << 18 | (63 & i) << 12 | (63 & n) << 6 | 63 & e[r++]) -
									65536, t[o++] = String.fromCharCode(55296 + (s >> 10)), t[o++] =
									String.fromCharCode(56320 + (1023 & s))
							} else i = e[r++], n = e[r++], t[o++] = String.fromCharCode((15 & s) <<
								12 | (63 & i) << 6 | 63 & n)
						}
						return t.join("")
					}, goog.crypt.xorByteArray = function(e, t) {
						goog.asserts.assert(e.length == t.length, "XOR array lengths must match");
						for (var r = [], o = 0; o < e.length; o++) r.push(e[o] ^ t[o]);
						return r
					}, goog.dom.asserts = {}, goog.dom.asserts.assertIsLocation = function(e) {
						if (goog.asserts.ENABLE_ASSERTS) {
							var t = goog.dom.asserts.getWindow_(e);
							t && (!e || !(e instanceof t.Location) && e instanceof t.Element) &&
								goog.asserts.fail(
									"Argument is not a Location (or a non-Element mock); got: %s",
									goog.dom.asserts.debugStringForType_(e))
						}
						return e
					}, goog.dom.asserts.assertIsElementType_ = function(e, t) {
						if (goog.asserts.ENABLE_ASSERTS) {
							var r = goog.dom.asserts.getWindow_(e);
							r && void 0 !== r[t] && (e && (e instanceof r[t] || !(e instanceof r
								.Location || e instanceof r.Element)) || goog.asserts.fail(
								"Argument is not a %s (or a non-Element, non-Location mock); got: %s",
								t, goog.dom.asserts.debugStringForType_(e)))
						}
						return e
					}, goog.dom.asserts.assertIsHTMLAnchorElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLAnchorElement")
					}, goog.dom.asserts.assertIsHTMLButtonElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLButtonElement")
					}, goog.dom.asserts.assertIsHTMLLinkElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLLinkElement")
					}, goog.dom.asserts.assertIsHTMLImageElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLImageElement")
					}, goog.dom.asserts.assertIsHTMLAudioElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLAudioElement")
					}, goog.dom.asserts.assertIsHTMLVideoElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLVideoElement")
					}, goog.dom.asserts.assertIsHTMLInputElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLInputElement")
					}, goog.dom.asserts.assertIsHTMLTextAreaElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLTextAreaElement")
					}, goog.dom.asserts.assertIsHTMLCanvasElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLCanvasElement")
					}, goog.dom.asserts.assertIsHTMLEmbedElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLEmbedElement")
					}, goog.dom.asserts.assertIsHTMLFormElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLFormElement")
					}, goog.dom.asserts.assertIsHTMLFrameElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLFrameElement")
					}, goog.dom.asserts.assertIsHTMLIFrameElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLIFrameElement")
					}, goog.dom.asserts.assertIsHTMLObjectElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLObjectElement")
					}, goog.dom.asserts.assertIsHTMLScriptElement = function(e) {
						return goog.dom.asserts.assertIsElementType_(e, "HTMLScriptElement")
					}, goog.dom.asserts.debugStringForType_ = function(e) {
						if (!goog.isObject(e)) return void 0 === e ? "undefined" : null === e ?
							"null" : typeof e;
						try {
							return e.constructor.displayName || e.constructor.name || Object
								.prototype.toString.call(e)
						} catch (e) {
							return "<object could not be stringified>"
						}
					}, goog.dom.asserts.getWindow_ = function(e) {
						try {
							var t = e && e.ownerDocument,
								r = t && (t.defaultView || t.parentWindow);
							if ((r = r || goog.global).Element && r.Location) return r
						} catch (e) {}
						return null
					}, goog.functions = {}, goog.functions.constant = function(e) {
						return function() {
							return e
						}
					}, goog.functions.FALSE = function() {
						return !1
					}, goog.functions.TRUE = function() {
						return !0
					}, goog.functions.NULL = function() {
						return null
					}, goog.functions.identity = function(e, t) {
						return e
					}, goog.functions.error = function(e) {
						return function() {
							throw Error(e)
						}
					}, goog.functions.fail = function(e) {
						return function() {
							throw e
						}
					}, goog.functions.lock = function(e, t) {
						return t = t || 0,
							function() {
								return e.apply(this, Array.prototype.slice.call(arguments, 0, t))
							}
					}, goog.functions.nth = function(e) {
						return function() {
							return arguments[e]
						}
					}, goog.functions.partialRight = function(e, t) {
						var r = Array.prototype.slice.call(arguments, 1);
						return function() {
							var t = Array.prototype.slice.call(arguments);
							return t.push.apply(t, r), e.apply(this, t)
						}
					}, goog.functions.withReturnValue = function(e, t) {
						return goog.functions.sequence(e, goog.functions.constant(t))
					}, goog.functions.equalTo = function(e, t) {
						return function(r) {
							return t ? e == r : e === r
						}
					}, goog.functions.compose = function(e, t) {
						var r = arguments,
							o = r.length;
						return function() {
							var e;
							o && (e = r[o - 1].apply(this, arguments));
							for (var t = o - 2; 0 <= t; t--) e = r[t].call(this, e);
							return e
						}
					}, goog.functions.sequence = function(e) {
						var t = arguments,
							r = t.length;
						return function() {
							for (var e, o = 0; o < r; o++) e = t[o].apply(this, arguments);
							return e
						}
					}, goog.functions.and = function(e) {
						var t = arguments,
							r = t.length;
						return function() {
							for (var e = 0; e < r; e++)
								if (!t[e].apply(this, arguments)) return !1;
							return !0
						}
					}, goog.functions.or = function(e) {
						var t = arguments,
							r = t.length;
						return function() {
							for (var e = 0; e < r; e++)
								if (t[e].apply(this, arguments)) return !0;
							return !1
						}
					}, goog.functions.not = function(e) {
						return function() {
							return !e.apply(this, arguments)
						}
					}, goog.functions.create = function(e, t) {
						var r = function() {};
						return r.prototype = e.prototype, r = new r, e.apply(r, Array.prototype
							.slice.call(arguments, 1)), r
					}, goog.functions.CACHE_RETURN_VALUE = !0, goog.functions.cacheReturnValue =
					function(e) {
						var t, r = !1;
						return function() {
							return goog.functions.CACHE_RETURN_VALUE ? (r || (t = e(), r = !0),
								t) : e()
						}
					}, goog.functions.once = function(e) {
						var t = e;
						return function() {
							if (t) {
								var e = t;
								t = null, e()
							}
						}
					}, goog.functions.debounce = function(e, t, r) {
						var o = 0;
						return function(s) {
							goog.global.clearTimeout(o);
							var i = arguments;
							o = goog.global.setTimeout(function() {
								e.apply(r, i)
							}, t)
						}
					}, goog.functions.throttle = function(e, t, r) {
						var o = 0,
							s = !1,
							i = [],
							n = function() {
								o = 0, s && (s = !1, a())
							},
							a = function() {
								o = goog.global.setTimeout(n, t), e.apply(r, i)
							};
						return function(e) {
							i = arguments, o ? s = !0 : a()
						}
					}, goog.functions.rateLimit = function(e, t, r) {
						var o = 0,
							s = function() {
								o = 0
							};
						return function(i) {
							o || (o = goog.global.setTimeout(s, t), e.apply(r, arguments))
						}
					}, goog.dom.HtmlElement = function() {}, goog.dom.TagName = function(e) {
						this.tagName_ = e
					}, goog.dom.TagName.prototype.toString = function() {
						return this.tagName_
					}, goog.dom.TagName.A = new goog.dom.TagName("A"), goog.dom.TagName.ABBR =
					new goog.dom.TagName("ABBR"), goog.dom.TagName.ACRONYM = new goog.dom.TagName(
						"ACRONYM"), goog.dom.TagName.ADDRESS = new goog.dom.TagName("ADDRESS"), goog
					.dom.TagName.APPLET = new goog.dom.TagName("APPLET"), goog.dom.TagName.AREA =
					new goog.dom.TagName("AREA"), goog.dom.TagName.ARTICLE = new goog.dom.TagName(
						"ARTICLE"), goog.dom.TagName.ASIDE = new goog.dom.TagName("ASIDE"), goog.dom
					.TagName.AUDIO = new goog.dom.TagName("AUDIO"), goog.dom.TagName.B = new goog
					.dom.TagName("B"), goog.dom.TagName.BASE = new goog.dom.TagName("BASE"), goog
					.dom.TagName.BASEFONT = new goog.dom.TagName("BASEFONT"), goog.dom.TagName.BDI =
					new goog.dom.TagName("BDI"), goog.dom.TagName.BDO = new goog.dom.TagName("BDO"),
					goog.dom.TagName.BIG = new goog.dom.TagName("BIG"), goog.dom.TagName
					.BLOCKQUOTE = new goog.dom.TagName("BLOCKQUOTE"), goog.dom.TagName.BODY =
					new goog.dom.TagName("BODY"), goog.dom.TagName.BR = new goog.dom.TagName("BR"),
					goog.dom.TagName.BUTTON = new goog.dom.TagName("BUTTON"), goog.dom.TagName
					.CANVAS = new goog.dom.TagName("CANVAS"), goog.dom.TagName.CAPTION = new goog
					.dom.TagName("CAPTION"), goog.dom.TagName.CENTER = new goog.dom.TagName(
						"CENTER"), goog.dom.TagName.CITE = new goog.dom.TagName("CITE"), goog.dom
					.TagName.CODE = new goog.dom.TagName("CODE"), goog.dom.TagName.COL = new goog
					.dom.TagName("COL"), goog.dom.TagName.COLGROUP = new goog.dom.TagName(
						"COLGROUP"), goog.dom.TagName.COMMAND = new goog.dom.TagName("COMMAND"),
					goog.dom.TagName.DATA = new goog.dom.TagName("DATA"), goog.dom.TagName
					.DATALIST = new goog.dom.TagName("DATALIST"), goog.dom.TagName.DD = new goog.dom
					.TagName("DD"), goog.dom.TagName.DEL = new goog.dom.TagName("DEL"), goog.dom
					.TagName.DETAILS = new goog.dom.TagName("DETAILS"), goog.dom.TagName.DFN =
					new goog.dom.TagName("DFN"), goog.dom.TagName.DIALOG = new goog.dom.TagName(
						"DIALOG"), goog.dom.TagName.DIR = new goog.dom.TagName("DIR"), goog.dom
					.TagName.DIV = new goog.dom.TagName("DIV"), goog.dom.TagName.DL = new goog.dom
					.TagName("DL"), goog.dom.TagName.DT = new goog.dom.TagName("DT"), goog.dom
					.TagName.EM = new goog.dom.TagName("EM"), goog.dom.TagName.EMBED = new goog.dom
					.TagName("EMBED"), goog.dom.TagName.FIELDSET = new goog.dom.TagName("FIELDSET"),
					goog.dom.TagName.FIGCAPTION = new goog.dom.TagName("FIGCAPTION"), goog.dom
					.TagName.FIGURE = new goog.dom.TagName("FIGURE"), goog.dom.TagName.FONT =
					new goog.dom.TagName("FONT"), goog.dom.TagName.FOOTER = new goog.dom.TagName(
						"FOOTER"), goog.dom.TagName.FORM = new goog.dom.TagName("FORM"), goog.dom
					.TagName.FRAME = new goog.dom.TagName("FRAME"), goog.dom.TagName.FRAMESET =
					new goog.dom.TagName("FRAMESET"), goog.dom.TagName.H1 = new goog.dom.TagName(
						"H1"), goog.dom.TagName.H2 = new goog.dom.TagName("H2"), goog.dom.TagName
					.H3 = new goog.dom.TagName("H3"), goog.dom.TagName.H4 = new goog.dom.TagName(
						"H4"), goog.dom.TagName.H5 = new goog.dom.TagName("H5"), goog.dom.TagName
					.H6 = new goog.dom.TagName("H6"), goog.dom.TagName.HEAD = new goog.dom.TagName(
						"HEAD"), goog.dom.TagName.HEADER = new goog.dom.TagName("HEADER"), goog.dom
					.TagName.HGROUP = new goog.dom.TagName("HGROUP"), goog.dom.TagName.HR = new goog
					.dom.TagName("HR"), goog.dom.TagName.HTML = new goog.dom.TagName("HTML"), goog
					.dom.TagName.I = new goog.dom.TagName("I"), goog.dom.TagName.IFRAME = new goog
					.dom.TagName("IFRAME"), goog.dom.TagName.IMG = new goog.dom.TagName("IMG"), goog
					.dom.TagName.INPUT = new goog.dom.TagName("INPUT"), goog.dom.TagName.INS =
					new goog.dom.TagName("INS"), goog.dom.TagName.ISINDEX = new goog.dom.TagName(
						"ISINDEX"), goog.dom.TagName.KBD = new goog.dom.TagName("KBD"), goog.dom
					.TagName.KEYGEN = new goog.dom.TagName("KEYGEN"), goog.dom.TagName.LABEL =
					new goog.dom.TagName("LABEL"), goog.dom.TagName.LEGEND = new goog.dom.TagName(
						"LEGEND"), goog.dom.TagName.LI = new goog.dom.TagName("LI"), goog.dom
					.TagName.LINK = new goog.dom.TagName("LINK"), goog.dom.TagName.MAIN = new goog
					.dom.TagName("MAIN"), goog.dom.TagName.MAP = new goog.dom.TagName("MAP"), goog
					.dom.TagName.MARK = new goog.dom.TagName("MARK"), goog.dom.TagName.MATH =
					new goog.dom.TagName("MATH"), goog.dom.TagName.MENU = new goog.dom.TagName(
						"MENU"), goog.dom.TagName.MENUITEM = new goog.dom.TagName("MENUITEM"), goog
					.dom.TagName.META = new goog.dom.TagName("META"), goog.dom.TagName.METER =
					new goog.dom.TagName("METER"), goog.dom.TagName.NAV = new goog.dom.TagName(
						"NAV"), goog.dom.TagName.NOFRAMES = new goog.dom.TagName("NOFRAMES"), goog
					.dom.TagName.NOSCRIPT = new goog.dom.TagName("NOSCRIPT"), goog.dom.TagName
					.OBJECT = new goog.dom.TagName("OBJECT"), goog.dom.TagName.OL = new goog.dom
					.TagName("OL"), goog.dom.TagName.OPTGROUP = new goog.dom.TagName("OPTGROUP"),
					goog.dom.TagName.OPTION = new goog.dom.TagName("OPTION"), goog.dom.TagName
					.OUTPUT = new goog.dom.TagName("OUTPUT"), goog.dom.TagName.P = new goog.dom
					.TagName("P"), goog.dom.TagName.PARAM = new goog.dom.TagName("PARAM"), goog.dom
					.TagName.PICTURE = new goog.dom.TagName("PICTURE"), goog.dom.TagName.PRE =
					new goog.dom.TagName("PRE"), goog.dom.TagName.PROGRESS = new goog.dom.TagName(
						"PROGRESS"), goog.dom.TagName.Q = new goog.dom.TagName("Q"), goog.dom
					.TagName.RP = new goog.dom.TagName("RP"), goog.dom.TagName.RT = new goog.dom
					.TagName("RT"), goog.dom.TagName.RTC = new goog.dom.TagName("RTC"), goog.dom
					.TagName.RUBY = new goog.dom.TagName("RUBY"), goog.dom.TagName.S = new goog.dom
					.TagName("S"), goog.dom.TagName.SAMP = new goog.dom.TagName("SAMP"), goog.dom
					.TagName.SCRIPT = new goog.dom.TagName("SCRIPT"), goog.dom.TagName.SECTION =
					new goog.dom.TagName("SECTION"), goog.dom.TagName.SELECT = new goog.dom.TagName(
						"SELECT"), goog.dom.TagName.SMALL = new goog.dom.TagName("SMALL"), goog.dom
					.TagName.SOURCE = new goog.dom.TagName("SOURCE"), goog.dom.TagName.SPAN =
					new goog.dom.TagName("SPAN"), goog.dom.TagName.STRIKE = new goog.dom.TagName(
						"STRIKE"), goog.dom.TagName.STRONG = new goog.dom.TagName("STRONG"), goog
					.dom.TagName.STYLE = new goog.dom.TagName("STYLE"), goog.dom.TagName.SUB =
					new goog.dom.TagName("SUB"), goog.dom.TagName.SUMMARY = new goog.dom.TagName(
						"SUMMARY"), goog.dom.TagName.SUP = new goog.dom.TagName("SUP"), goog.dom
					.TagName.SVG = new goog.dom.TagName("SVG"), goog.dom.TagName.TABLE = new goog
					.dom.TagName("TABLE"), goog.dom.TagName.TBODY = new goog.dom.TagName("TBODY"),
					goog.dom.TagName.TD = new goog.dom.TagName("TD"), goog.dom.TagName.TEMPLATE =
					new goog.dom.TagName("TEMPLATE"), goog.dom.TagName.TEXTAREA = new goog.dom
					.TagName("TEXTAREA"), goog.dom.TagName.TFOOT = new goog.dom.TagName("TFOOT"),
					goog.dom.TagName.TH = new goog.dom.TagName("TH"), goog.dom.TagName.THEAD =
					new goog.dom.TagName("THEAD"), goog.dom.TagName.TIME = new goog.dom.TagName(
						"TIME"), goog.dom.TagName.TITLE = new goog.dom.TagName("TITLE"), goog.dom
					.TagName.TR = new goog.dom.TagName("TR"), goog.dom.TagName.TRACK = new goog.dom
					.TagName("TRACK"), goog.dom.TagName.TT = new goog.dom.TagName("TT"), goog.dom
					.TagName.U = new goog.dom.TagName("U"), goog.dom.TagName.UL = new goog.dom
					.TagName("UL"), goog.dom.TagName.VAR = new goog.dom.TagName("VAR"), goog.dom
					.TagName.VIDEO = new goog.dom.TagName("VIDEO"), goog.dom.TagName.WBR = new goog
					.dom.TagName("WBR"), goog.dom.tags = {}, goog.dom.tags.VOID_TAGS_ = {
						area: !0,
						base: !0,
						br: !0,
						col: !0,
						command: !0,
						embed: !0,
						hr: !0,
						img: !0,
						input: !0,
						keygen: !0,
						link: !0,
						meta: !0,
						param: !0,
						source: !0,
						track: !0,
						wbr: !0
					}, goog.dom.tags.isVoidTag = function(e) {
						return !0 === goog.dom.tags.VOID_TAGS_[e]
					}, goog.html = {}, goog.html.trustedtypes = {}, goog.html.trustedtypes
					.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY = goog.TRUSTED_TYPES_POLICY_NAME ? goog
					.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME + "#html") : null, goog
					.string = {}, goog.string.TypedString = function() {}, goog.string.Const =
					function(e, t) {
						this.stringConstValueWithSecurityContract__googStringSecurityPrivate_ =
							e === goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ && t ||
							"", this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ = goog
							.string.Const.TYPE_MARKER_
					}, goog.string.Const.prototype.implementsGoogStringTypedString = !0, goog.string
					.Const.prototype.getTypedStringValue = function() {
						return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_
					}, goog.DEBUG && (goog.string.Const.prototype.toString = function() {
						return "Const{" + this
							.stringConstValueWithSecurityContract__googStringSecurityPrivate_ +
							"}"
					}), goog.string.Const.unwrap = function(e) {
						return e instanceof goog.string.Const && e.constructor === goog.string
							.Const && e.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ ===
							goog.string.Const.TYPE_MARKER_ ? e
							.stringConstValueWithSecurityContract__googStringSecurityPrivate_ : (
								goog.asserts.fail("expected object of type Const, got '" + e + "'"),
								"type_error:Const")
					}, goog.string.Const.from = function(e) {
						return new goog.string.Const(goog.string.Const
							.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_, e)
					}, goog.string.Const.TYPE_MARKER_ = {}, goog.string.Const
					.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_ = {}, goog.string.Const.EMPTY = goog
					.string.Const.from(""), goog.html.SafeScript = function() {
						this.privateDoNotAccessOrElseSafeScriptWrappedValue_ = "", this
							.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html
							.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_
					}, goog.html.SafeScript.prototype.implementsGoogStringTypedString = !0, goog
					.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {}, goog.html
					.SafeScript.fromConstant = function(e) {
						return 0 === (e = goog.string.Const.unwrap(e)).length ? goog.html.SafeScript
							.EMPTY : goog.html.SafeScript
							.createSafeScriptSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SafeScript.fromConstantAndArgs = function(e, t) {
						for (var r = [], o = 1; o < arguments.length; o++) r.push(goog.html
							.SafeScript.stringify_(arguments[o]));
						return goog.html.SafeScript
							.createSafeScriptSecurityPrivateDoNotAccessOrElse("(" + goog.string
								.Const.unwrap(e) + ")(" + r.join(", ") + ");")
					}, goog.html.SafeScript.fromJson = function(e) {
						return goog.html.SafeScript
							.createSafeScriptSecurityPrivateDoNotAccessOrElse(goog.html.SafeScript
								.stringify_(e))
					}, goog.html.SafeScript.prototype.getTypedStringValue = function() {
						return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString()
					}, goog.DEBUG && (goog.html.SafeScript.prototype.toString = function() {
						return "SafeScript{" + this
							.privateDoNotAccessOrElseSafeScriptWrappedValue_ + "}"
					}), goog.html.SafeScript.unwrap = function(e) {
						return goog.html.SafeScript.unwrapTrustedScript(e).toString()
					}, goog.html.SafeScript.unwrapTrustedScript = function(e) {
						return e instanceof goog.html.SafeScript && e.constructor === goog.html
							.SafeScript && e.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ===
							goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ? e
							.privateDoNotAccessOrElseSafeScriptWrappedValue_ : (goog.asserts.fail(
								"expected object of type SafeScript, got '" + e + "' of type " +
								goog.typeOf(e)), "type_error:SafeScript")
					}, goog.html.SafeScript.stringify_ = function(e) {
						return JSON.stringify(e).replace(/</g, "\\x3c")
					}, goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse =
					function(e) {
						return (new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(e)
					}, goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_ =
					function(e) {
						return this.privateDoNotAccessOrElseSafeScriptWrappedValue_ = goog.html
							.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY ? goog.html
							.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScript(e) : e,
							this
					}, goog.html.SafeScript.EMPTY = goog.html.SafeScript
					.createSafeScriptSecurityPrivateDoNotAccessOrElse(""), goog.fs = {}, goog.fs
					.url = {}, goog.fs.url.createObjectUrl = function(e) {
						return goog.fs.url.getUrlObject_().createObjectURL(e)
					}, goog.fs.url.revokeObjectUrl = function(e) {
						goog.fs.url.getUrlObject_().revokeObjectURL(e)
					}, goog.fs.url.UrlObject_ = function() {}, goog.fs.url.UrlObject_.prototype
					.createObjectURL = function(e) {}, goog.fs.url.UrlObject_.prototype
					.revokeObjectURL = function(e) {}, goog.fs.url.getUrlObject_ = function() {
						var e = goog.fs.url.findUrlObject_();
						if (null != e) return e;
						throw Error("This browser doesn't seem to support blob URLs")
					}, goog.fs.url.findUrlObject_ = function() {
						return void 0 !== goog.global.URL && void 0 !== goog.global.URL
							.createObjectURL ? goog.global.URL : void 0 !== goog.global.webkitURL &&
							void 0 !== goog.global.webkitURL.createObjectURL ? goog.global
							.webkitURL : void 0 !== goog.global.createObjectURL ? goog.global : null
					}, goog.fs.url.browserSupportsObjectUrls = function() {
						return null != goog.fs.url.findUrlObject_()
					}, goog.fs.blob = {}, goog.fs.blob.getBlob = function(e) {
						var t = goog.global.BlobBuilder || goog.global.WebKitBlobBuilder;
						if (void 0 !== t) {
							t = new t;
							for (var r = 0; r < arguments.length; r++) t.append(arguments[r]);
							return t.getBlob()
						}
						return goog.fs.blob.getBlobWithProperties(goog.array.toArray(arguments))
					}, goog.fs.blob.getBlobWithProperties = function(e, t, r) {
						var o = goog.global.BlobBuilder || goog.global.WebKitBlobBuilder;
						if (void 0 !== o) {
							o = new o;
							for (var s = 0; s < e.length; s++) o.append(e[s], r);
							return o.getBlob(t)
						}
						if (void 0 !== goog.global.Blob) return o = {}, t && (o.type = t), r && (o
							.endings = r), new Blob(e, o);
						throw Error("This browser doesn't seem to support creating Blobs")
					}, goog.i18n = {}, goog.i18n.bidi = {}, goog.i18n.bidi.FORCE_RTL = !1, goog.i18n
					.bidi.IS_RTL = goog.i18n.bidi.FORCE_RTL || ("ar" == goog.LOCALE.substring(0, 2)
						.toLowerCase() || "fa" == goog.LOCALE.substring(0, 2).toLowerCase() ||
						"he" == goog.LOCALE.substring(0, 2).toLowerCase() || "iw" == goog.LOCALE
						.substring(0, 2).toLowerCase() || "ps" == goog.LOCALE.substring(0, 2)
						.toLowerCase() || "sd" == goog.LOCALE.substring(0, 2).toLowerCase() ||
						"ug" == goog.LOCALE.substring(0, 2).toLowerCase() || "ur" == goog.LOCALE
						.substring(0, 2).toLowerCase() || "yi" == goog.LOCALE.substring(0, 2)
						.toLowerCase()) && (2 == goog.LOCALE.length || "-" == goog.LOCALE.substring(
						2, 3) || "_" == goog.LOCALE.substring(2, 3)) || 3 <= goog.LOCALE.length &&
					"ckb" == goog.LOCALE.substring(0, 3).toLowerCase() && (3 == goog.LOCALE
						.length || "-" == goog.LOCALE.substring(3, 4) || "_" == goog.LOCALE
						.substring(3, 4)) || 7 <= goog.LOCALE.length && ("-" == goog.LOCALE
						.substring(2, 3) || "_" == goog.LOCALE.substring(2, 3)) && ("adlm" == goog
						.LOCALE.substring(3, 7).toLowerCase() || "arab" == goog.LOCALE.substring(3,
							7).toLowerCase() || "hebr" == goog.LOCALE.substring(3, 7)
					.toLowerCase() || "nkoo" == goog.LOCALE.substring(3, 7).toLowerCase() ||
						"rohg" == goog.LOCALE.substring(3, 7).toLowerCase() || "thaa" == goog.LOCALE
						.substring(3, 7).toLowerCase()) || 8 <= goog.LOCALE.length && ("-" == goog
						.LOCALE.substring(3, 4) || "_" == goog.LOCALE.substring(3, 4)) && ("adlm" ==
						goog.LOCALE.substring(4, 8).toLowerCase() || "arab" == goog.LOCALE
						.substring(4, 8).toLowerCase() || "hebr" == goog.LOCALE.substring(4, 8)
						.toLowerCase() || "nkoo" == goog.LOCALE.substring(4, 8).toLowerCase() ||
						"rohg" == goog.LOCALE.substring(4, 8).toLowerCase() || "thaa" == goog.LOCALE
						.substring(4, 8).toLowerCase()), goog.i18n.bidi.Format = {
						LRE: "‪",
						RLE: "‫",
						PDF: "‬",
						LRM: "‎",
						RLM: "‏"
					}, goog.i18n.bidi.Dir = {
						LTR: 1,
						RTL: -1,
						NEUTRAL: 0
					}, goog.i18n.bidi.RIGHT = "right", goog.i18n.bidi.LEFT = "left", goog.i18n.bidi
					.I18N_RIGHT = goog.i18n.bidi.IS_RTL ? goog.i18n.bidi.LEFT : goog.i18n.bidi
					.RIGHT, goog.i18n.bidi.I18N_LEFT = goog.i18n.bidi.IS_RTL ? goog.i18n.bidi
					.RIGHT : goog.i18n.bidi.LEFT, goog.i18n.bidi.toDir = function(e, t) {
						return "number" == typeof e ? 0 < e ? goog.i18n.bidi.Dir.LTR : 0 > e ? goog
							.i18n.bidi.Dir.RTL : t ? null : goog.i18n.bidi.Dir.NEUTRAL : null == e ?
							null : e ? goog.i18n.bidi.Dir.RTL : goog.i18n.bidi.Dir.LTR
					}, goog.i18n.bidi.ltrChars_ =
					"A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\ud801\ud804-\ud839\ud83c-\udbff豈-﬜︀-﹯﻽-￿", goog.i18n
					.bidi.rtlChars_ = "֑-ۯۺ-ࣿ‏\ud802-\ud803\ud83a-\ud83bיִ-﷿ﹰ-ﻼ", goog.i18n.bidi
					.htmlSkipReg_ = /<[^>]*>|&[^;]+;/g, goog.i18n.bidi.stripHtmlIfNeeded_ =
					function(e, t) {
						return t ? e.replace(goog.i18n.bidi.htmlSkipReg_, "") : e
					}, goog.i18n.bidi.rtlCharReg_ = new RegExp("[" + goog.i18n.bidi.rtlChars_ +
					"]"), goog.i18n.bidi.ltrCharReg_ = new RegExp("[" + goog.i18n.bidi.ltrChars_ +
						"]"), goog.i18n.bidi.hasAnyRtl = function(e, t) {
						return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,
							t))
					}, goog.i18n.bidi.hasRtlChar = goog.i18n.bidi.hasAnyRtl, goog.i18n.bidi
					.hasAnyLtr = function(e, t) {
						return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,
							t))
					}, goog.i18n.bidi.ltrRe_ = new RegExp("^[" + goog.i18n.bidi.ltrChars_ + "]"),
					goog.i18n.bidi.rtlRe_ = new RegExp("^[" + goog.i18n.bidi.rtlChars_ + "]"), goog
					.i18n.bidi.isRtlChar = function(e) {
						return goog.i18n.bidi.rtlRe_.test(e)
					}, goog.i18n.bidi.isLtrChar = function(e) {
						return goog.i18n.bidi.ltrRe_.test(e)
					}, goog.i18n.bidi.isNeutralChar = function(e) {
						return !goog.i18n.bidi.isLtrChar(e) && !goog.i18n.bidi.isRtlChar(e)
					}, goog.i18n.bidi.ltrDirCheckRe_ = new RegExp("^[^" + goog.i18n.bidi.rtlChars_ +
						"]*[" + goog.i18n.bidi.ltrChars_ + "]"), goog.i18n.bidi.rtlDirCheckRe_ =
					new RegExp("^[^" + goog.i18n.bidi.ltrChars_ + "]*[" + goog.i18n.bidi.rtlChars_ +
						"]"), goog.i18n.bidi.startsWithRtl = function(e, t) {
						return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(
							e, t))
					}, goog.i18n.bidi.isRtlText = goog.i18n.bidi.startsWithRtl, goog.i18n.bidi
					.startsWithLtr = function(e, t) {
						return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(
							e, t))
					}, goog.i18n.bidi.isLtrText = goog.i18n.bidi.startsWithLtr, goog.i18n.bidi
					.isRequiredLtrRe_ = /^http:\/\/.*/, goog.i18n.bidi.isNeutralText = function(e,
						t) {
						return e = goog.i18n.bidi.stripHtmlIfNeeded_(e, t), goog.i18n.bidi
							.isRequiredLtrRe_.test(e) || !goog.i18n.bidi.hasAnyLtr(e) && !goog.i18n
							.bidi.hasAnyRtl(e)
					}, goog.i18n.bidi.ltrExitDirCheckRe_ = new RegExp("[" + goog.i18n.bidi
						.ltrChars_ + "][^" + goog.i18n.bidi.rtlChars_ + "]*$"), goog.i18n.bidi
					.rtlExitDirCheckRe_ = new RegExp("[" + goog.i18n.bidi.rtlChars_ + "][^" + goog
						.i18n.bidi.ltrChars_ + "]*$"), goog.i18n.bidi.endsWithLtr = function(e, t) {
						return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi
							.stripHtmlIfNeeded_(e, t))
					}, goog.i18n.bidi.isLtrExitText = goog.i18n.bidi.endsWithLtr, goog.i18n.bidi
					.endsWithRtl = function(e, t) {
						return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi
							.stripHtmlIfNeeded_(e, t))
					}, goog.i18n.bidi.isRtlExitText = goog.i18n.bidi.endsWithRtl, goog.i18n.bidi
					.rtlLocalesRe_ =
					/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,
					goog.i18n.bidi.isRtlLanguage = function(e) {
						return goog.i18n.bidi.rtlLocalesRe_.test(e)
					}, goog.i18n.bidi.bracketGuardTextRe_ =
					/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g, goog.i18n.bidi
					.guardBracketInText = function(e, t) {
						return t = (void 0 === t ? goog.i18n.bidi.hasAnyRtl(e) : t) ? goog.i18n.bidi
							.Format.RLM : goog.i18n.bidi.Format.LRM, e.replace(goog.i18n.bidi
								.bracketGuardTextRe_, t + "$&" + t)
					}, goog.i18n.bidi.enforceRtlInHtml = function(e) {
						return "<" == e.charAt(0) ? e.replace(/<\w+/, "$& dir=rtl") :
							"\n<span dir=rtl>" + e + "</span>"
					}, goog.i18n.bidi.enforceRtlInText = function(e) {
						return goog.i18n.bidi.Format.RLE + e + goog.i18n.bidi.Format.PDF
					}, goog.i18n.bidi.enforceLtrInHtml = function(e) {
						return "<" == e.charAt(0) ? e.replace(/<\w+/, "$& dir=ltr") :
							"\n<span dir=ltr>" + e + "</span>"
					}, goog.i18n.bidi.enforceLtrInText = function(e) {
						return goog.i18n.bidi.Format.LRE + e + goog.i18n.bidi.Format.PDF
					}, goog.i18n.bidi.dimensionsRe_ =
					/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g, goog.i18n
					.bidi.leftRe_ = /left/gi, goog.i18n.bidi.rightRe_ = /right/gi, goog.i18n.bidi
					.tempRe_ = /%%%%/g, goog.i18n.bidi.mirrorCSS = function(e) {
						return e.replace(goog.i18n.bidi.dimensionsRe_, ":$1 $4 $3 $2").replace(goog
							.i18n.bidi.leftRe_, "%%%%").replace(goog.i18n.bidi.rightRe_, goog
							.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_, goog.i18n.bidi
							.RIGHT)
					}, goog.i18n.bidi.doubleQuoteSubstituteRe_ = /([\u0591-\u05f2])"/g, goog.i18n
					.bidi.singleQuoteSubstituteRe_ = /([\u0591-\u05f2])'/g, goog.i18n.bidi
					.normalizeHebrewQuote = function(e) {
						return e.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_, "$1״").replace(
							goog.i18n.bidi.singleQuoteSubstituteRe_, "$1׳")
					}, goog.i18n.bidi.wordSeparatorRe_ = /\s+/, goog.i18n.bidi.hasNumeralsRe_ =
					/[\d\u06f0-\u06f9]/, goog.i18n.bidi.rtlDetectionThreshold_ = .4, goog.i18n.bidi
					.estimateDirection = function(e, t) {
						var r = 0,
							o = 0,
							s = !1;
						for (e = goog.i18n.bidi.stripHtmlIfNeeded_(e, t).split(goog.i18n.bidi
								.wordSeparatorRe_), t = 0; t < e.length; t++) {
							var i = e[t];
							goog.i18n.bidi.startsWithRtl(i) ? (r++, o++) : goog.i18n.bidi
								.isRequiredLtrRe_.test(i) ? s = !0 : goog.i18n.bidi.hasAnyLtr(i) ?
								o++ : goog.i18n.bidi.hasNumeralsRe_.test(i) && (s = !0)
						}
						return 0 == o ? s ? goog.i18n.bidi.Dir.LTR : goog.i18n.bidi.Dir.NEUTRAL :
							r / o > goog.i18n.bidi.rtlDetectionThreshold_ ? goog.i18n.bidi.Dir.RTL :
							goog.i18n.bidi.Dir.LTR
					}, goog.i18n.bidi.detectRtlDirectionality = function(e, t) {
						return goog.i18n.bidi.estimateDirection(e, t) == goog.i18n.bidi.Dir.RTL
					}, goog.i18n.bidi.setElementDirAndAlign = function(e, t) {
						e && (t = goog.i18n.bidi.toDir(t)) && (e.style.textAlign = t == goog.i18n
							.bidi.Dir.RTL ? goog.i18n.bidi.RIGHT : goog.i18n.bidi.LEFT, e.dir =
							t == goog.i18n.bidi.Dir.RTL ? "rtl" : "ltr")
					}, goog.i18n.bidi.setElementDirByTextDirectionality = function(e, t) {
						switch (goog.i18n.bidi.estimateDirection(t)) {
							case goog.i18n.bidi.Dir.LTR:
								e.dir = "ltr";
								break;
							case goog.i18n.bidi.Dir.RTL:
								e.dir = "rtl";
								break;
							default:
								e.removeAttribute("dir")
						}
					}, goog.i18n.bidi.DirectionalString = function() {}, goog.html
					.TrustedResourceUrl = function(e, t) {
						this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ = e === goog
							.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_ && t || "", this
							.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog
							.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_
					}, goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString = !0,
					goog.html.TrustedResourceUrl.prototype.getTypedStringValue = function() {
						return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_
							.toString()
					}, goog.html.TrustedResourceUrl.prototype
					.implementsGoogI18nBidiDirectionalString = !0, goog.html.TrustedResourceUrl
					.prototype.getDirection = function() {
						return goog.i18n.bidi.Dir.LTR
					}, goog.html.TrustedResourceUrl.prototype.cloneWithParams = function(e, t) {
						var r = goog.html.TrustedResourceUrl.unwrap(this),
							o = (r = goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(r))[3] ||
							"";
						return goog.html.TrustedResourceUrl
							.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(r[1] + goog
								.html.TrustedResourceUrl.stringifyParams_("?", r[2] || "", e) + goog
								.html.TrustedResourceUrl.stringifyParams_("#", o, t))
					}, goog.DEBUG && (goog.html.TrustedResourceUrl.prototype.toString = function() {
						return "TrustedResourceUrl{" + this
							.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ + "}"
					}), goog.html.TrustedResourceUrl.unwrap = function(e) {
						return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(e).toString()
					}, goog.html.TrustedResourceUrl.unwrapTrustedScriptURL = function(e) {
						return e instanceof goog.html.TrustedResourceUrl && e.constructor === goog
							.html.TrustedResourceUrl && e
							.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog
							.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ? e
							.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_ : (goog.asserts
								.fail("expected object of type TrustedResourceUrl, got '" + e +
									"' of type " + goog.typeOf(e)), "type_error:TrustedResourceUrl")
					}, goog.html.TrustedResourceUrl.format = function(e, t) {
						var r = goog.string.Const.unwrap(e);
						if (!goog.html.TrustedResourceUrl.BASE_URL_.test(r)) throw Error(
							"Invalid TrustedResourceUrl format: " + r);
						return e = r.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_, function(
								e, o) {
								if (!Object.prototype.hasOwnProperty.call(t, o)) throw Error(
									'Found marker, "' + o + '", in format string, "' +
									r +
									'", but no valid label mapping found in args: ' +
									JSON.stringify(t));
								return (e = t[o]) instanceof goog.string.Const ? goog.string
									.Const.unwrap(e) : encodeURIComponent(String(e))
							}), goog.html.TrustedResourceUrl
							.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.TrustedResourceUrl.FORMAT_MARKER_ = /%{(\w+)}/g, goog.html
					.TrustedResourceUrl.BASE_URL_ =
					/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,
					goog.html.TrustedResourceUrl.URL_PARAM_PARSER_ =
					/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/, goog.html.TrustedResourceUrl
					.formatWithParams = function(e, t, r, o) {
						return goog.html.TrustedResourceUrl.format(e, t).cloneWithParams(r, o)
					}, goog.html.TrustedResourceUrl.fromConstant = function(e) {
						return goog.html.TrustedResourceUrl
							.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string
								.Const.unwrap(e))
					}, goog.html.TrustedResourceUrl.fromConstants = function(e) {
						for (var t = "", r = 0; r < e.length; r++) t += goog.string.Const.unwrap(e[
							r]);
						return goog.html.TrustedResourceUrl
							.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)
					}, goog.html.TrustedResourceUrl.fromSafeScript = function(e) {
						return e = goog.fs.blob.getBlobWithProperties([goog.html.SafeScript.unwrap(
								e)], "text/javascript"), e = goog.fs.url.createObjectUrl(e), goog
							.html.TrustedResourceUrl
							.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {},
					goog.html.TrustedResourceUrl
					.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse = function(e) {
						return e = goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY ?
							goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY
							.createScriptURL(e) : e, new goog.html.TrustedResourceUrl(goog.html
								.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_, e)
					}, goog.html.TrustedResourceUrl.stringifyParams_ = function(e, t, r) {
						if (null == r) return t;
						if ("string" == typeof r) return r ? e + encodeURIComponent(r) : "";
						for (var o in r) {
							var s = r[o];
							s = Array.isArray(s) ? s : [s];
							for (var i = 0; i < s.length; i++) {
								var n = s[i];
								null != n && (t || (t = e), t += (t.length > e.length ? "&" : "") +
									encodeURIComponent(o) + "=" + encodeURIComponent(String(n)))
							}
						}
						return t
					}, goog.html.TrustedResourceUrl.CONSTRUCTOR_TOKEN_PRIVATE_ = {}, goog.string
					.internal = {}, goog.string.internal.startsWith = function(e, t) {
						return 0 == e.lastIndexOf(t, 0)
					}, goog.string.internal.endsWith = function(e, t) {
						var r = e.length - t.length;
						return 0 <= r && e.indexOf(t, r) == r
					}, goog.string.internal.caseInsensitiveStartsWith = function(e, t) {
						return 0 == goog.string.internal.caseInsensitiveCompare(t, e.substr(0, t
							.length))
					}, goog.string.internal.caseInsensitiveEndsWith = function(e, t) {
						return 0 == goog.string.internal.caseInsensitiveCompare(t, e.substr(e
							.length - t.length, t.length))
					}, goog.string.internal.caseInsensitiveEquals = function(e, t) {
						return e.toLowerCase() == t.toLowerCase()
					}, goog.string.internal.isEmptyOrWhitespace = function(e) {
						return /^[\s\xa0]*$/.test(e)
					}, goog.string.internal.trim = goog.TRUSTED_SITE && String.prototype.trim ?
					function(e) {
						return e.trim()
					} : function(e) {
						return /^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(e)[1]
					}, goog.string.internal.caseInsensitiveCompare = function(e, t) {
						return (e = String(e).toLowerCase()) < (t = String(t).toLowerCase()) ? -1 :
							e == t ? 0 : 1
					}, goog.string.internal.newLineToBr = function(e, t) {
						return e.replace(/(\r\n|\r|\n)/g, t ? "<br />" : "<br>")
					}, goog.string.internal.htmlEscape = function(e, t) {
						if (t) e = e.replace(goog.string.internal.AMP_RE_, "&amp;").replace(goog
								.string.internal.LT_RE_, "&lt;").replace(goog.string.internal
								.GT_RE_, "&gt;").replace(goog.string.internal.QUOT_RE_, "&quot;")
							.replace(goog.string.internal.SINGLE_QUOTE_RE_, "&#39;").replace(goog
								.string.internal.NULL_RE_, "&#0;");
						else {
							if (!goog.string.internal.ALL_RE_.test(e)) return e; - 1 != e.indexOf(
									"&") && (e = e.replace(goog.string.internal.AMP_RE_, "&amp;")),
								-1 != e.indexOf("<") && (e = e.replace(goog.string.internal.LT_RE_,
									"&lt;")), -1 != e.indexOf(">") && (e = e.replace(goog.string
									.internal.GT_RE_, "&gt;")), -1 != e.indexOf('"') && (e = e
									.replace(goog.string.internal.QUOT_RE_, "&quot;")), -1 != e
								.indexOf("'") && (e = e.replace(goog.string.internal
									.SINGLE_QUOTE_RE_, "&#39;")), -1 != e.indexOf("\0") && (e = e
									.replace(goog.string.internal.NULL_RE_, "&#0;"))
						}
						return e
					}, goog.string.internal.AMP_RE_ = /&/g, goog.string.internal.LT_RE_ = /</g, goog
					.string.internal.GT_RE_ = />/g, goog.string.internal.QUOT_RE_ = /"/g, goog
					.string.internal.SINGLE_QUOTE_RE_ = /'/g, goog.string.internal.NULL_RE_ =
					/\x00/g, goog.string.internal.ALL_RE_ = /[\x00&<>"']/, goog.string.internal
					.whitespaceEscape = function(e, t) {
						return goog.string.internal.newLineToBr(e.replace(/  /g, " &#160;"), t)
					}, goog.string.internal.contains = function(e, t) {
						return -1 != e.indexOf(t)
					}, goog.string.internal.caseInsensitiveContains = function(e, t) {
						return goog.string.internal.contains(e.toLowerCase(), t.toLowerCase())
					}, goog.string.internal.compareVersions = function(e, t) {
						var r = 0;
						e = goog.string.internal.trim(String(e)).split("."), t = goog.string
							.internal.trim(String(t)).split(".");
						for (var o = Math.max(e.length, t.length), s = 0; 0 == r && s < o; s++) {
							var i = e[s] || "",
								n = t[s] || "";
							do {
								if (i = /(\d*)(\D*)(.*)/.exec(i) || ["", "", "", ""], n =
									/(\d*)(\D*)(.*)/.exec(n) || ["", "", "", ""], 0 == i[0]
									.length && 0 == n[0].length) break;
								r = 0 == i[1].length ? 0 : parseInt(i[1], 10);
								var a = 0 == n[1].length ? 0 : parseInt(n[1], 10);
								r = goog.string.internal.compareElements_(r, a) || goog.string
									.internal.compareElements_(0 == i[2].length, 0 == n[2]
									.length) || goog.string.internal.compareElements_(i[2], n[2]),
									i = i[3], n = n[3]
							} while (0 == r)
						}
						return r
					}, goog.string.internal.compareElements_ = function(e, t) {
						return e < t ? -1 : e > t ? 1 : 0
					}, goog.html.SafeUrl = function(e, t) {
						this.privateDoNotAccessOrElseSafeUrlWrappedValue_ = e === goog.html.SafeUrl
							.CONSTRUCTOR_TOKEN_PRIVATE_ && t || "", this
							.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html.SafeUrl
							.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_
					}, goog.html.SafeUrl.INNOCUOUS_STRING = "about:invalid#zClosurez", goog.html
					.SafeUrl.prototype.implementsGoogStringTypedString = !0, goog.html.SafeUrl
					.prototype.getTypedStringValue = function() {
						return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()
					}, goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString = !0,
					goog.html.SafeUrl.prototype.getDirection = function() {
						return goog.i18n.bidi.Dir.LTR
					}, goog.DEBUG && (goog.html.SafeUrl.prototype.toString = function() {
						return "SafeUrl{" + this.privateDoNotAccessOrElseSafeUrlWrappedValue_ +
							"}"
					}), goog.html.SafeUrl.unwrap = function(e) {
						return e instanceof goog.html.SafeUrl && e.constructor === goog.html
							.SafeUrl && e.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog
							.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ? e
							.privateDoNotAccessOrElseSafeUrlWrappedValue_ : (goog.asserts.fail(
								"expected object of type SafeUrl, got '" + e + "' of type " +
								goog.typeOf(e)), "type_error:SafeUrl")
					}, goog.html.SafeUrl.fromConstant = function(e) {
						return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog
							.string.Const.unwrap(e))
					}, goog.html.SAFE_MIME_TYPE_PATTERN_ =
					/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-matroska|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime|x-matroska))(?:;\w+=(?:\w+|"[\w;,= ]+"))*$/i,
					goog.html.SafeUrl.isSafeMimeType = function(e) {
						return goog.html.SAFE_MIME_TYPE_PATTERN_.test(e)
					}, goog.html.SafeUrl.fromBlob = function(e) {
						return e = goog.html.SafeUrl.isSafeMimeType(e.type) ? goog.fs.url
							.createObjectUrl(e) : goog.html.SafeUrl.INNOCUOUS_STRING, goog.html
							.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SafeUrl.fromMediaSource = function(e) {
						return goog.asserts.assert("MediaSource" in goog.global,
								"No support for MediaSource"), e = e instanceof MediaSource ? goog
							.fs.url.createObjectUrl(e) : goog.html.SafeUrl.INNOCUOUS_STRING, goog
							.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.DATA_URL_PATTERN_ = /^data:(.*);base64,[a-z0-9+\/]+=*$/i, goog.html
					.SafeUrl.fromDataUrl = function(e) {
						var t = (e = e.replace(/(%0A|%0D)/g, "")).match(goog.html
						.DATA_URL_PATTERN_);
						return t = t && goog.html.SafeUrl.isSafeMimeType(t[1]), goog.html.SafeUrl
							.createSafeUrlSecurityPrivateDoNotAccessOrElse(t ? e : goog.html.SafeUrl
								.INNOCUOUS_STRING)
					}, goog.html.SafeUrl.fromTelUrl = function(e) {
						return goog.string.internal.caseInsensitiveStartsWith(e, "tel:") || (e =
								goog.html.SafeUrl.INNOCUOUS_STRING), goog.html.SafeUrl
							.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SIP_URL_PATTERN_ =
					/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i, goog
					.html.SafeUrl.fromSipUrl = function(e) {
						return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(e)) || (e = goog
								.html.SafeUrl.INNOCUOUS_STRING), goog.html.SafeUrl
							.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SafeUrl.fromFacebookMessengerUrl = function(e) {
						return goog.string.internal.caseInsensitiveStartsWith(e,
								"fb-messenger://share") || (e = goog.html.SafeUrl.INNOCUOUS_STRING),
							goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SafeUrl.fromWhatsAppUrl = function(e) {
						return goog.string.internal.caseInsensitiveStartsWith(e,
							"whatsapp://send") || (e = goog.html.SafeUrl.INNOCUOUS_STRING), goog
							.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SafeUrl.fromSmsUrl = function(e) {
						return goog.string.internal.caseInsensitiveStartsWith(e, "sms:") && goog
							.html.SafeUrl.isSmsUrlBodyValid_(e) || (e = goog.html.SafeUrl
								.INNOCUOUS_STRING), goog.html.SafeUrl
							.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SafeUrl.isSmsUrlBodyValid_ = function(e) {
						var t = e.indexOf("#");
						if (0 < t && (e = e.substring(0, t)), !(t = e.match(/[?&]body=/gi)))
						return !0;
						if (1 < t.length) return !1;
						if (!(e = e.match(/[?&]body=([^&]*)/)[1])) return !0;
						try {
							decodeURIComponent(e)
						} catch (e) {
							return !1
						}
						return /^(?:[a-z0-9\-_.~]|%[0-9a-f]{2})+$/i.test(e)
					}, goog.html.SafeUrl.fromSshUrl = function(e) {
						return goog.string.internal.caseInsensitiveStartsWith(e, "ssh://") || (e =
								goog.html.SafeUrl.INNOCUOUS_STRING), goog.html.SafeUrl
							.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SafeUrl.sanitizeChromeExtensionUrl = function(e, t) {
						return goog.html.SafeUrl.sanitizeExtensionUrl_(
							/^chrome-extension:\/\/([^\/]+)\//, e, t)
					}, goog.html.SafeUrl.sanitizeFirefoxExtensionUrl = function(e, t) {
						return goog.html.SafeUrl.sanitizeExtensionUrl_(
							/^moz-extension:\/\/([^\/]+)\//, e, t)
					}, goog.html.SafeUrl.sanitizeEdgeExtensionUrl = function(e, t) {
						return goog.html.SafeUrl.sanitizeExtensionUrl_(
							/^ms-browser-extension:\/\/([^\/]+)\//, e, t)
					}, goog.html.SafeUrl.sanitizeExtensionUrl_ = function(e, t, r) {
						return (e = e.exec(t)) ? (e = e[1], -1 == (r instanceof goog.string.Const ?
								[goog.string.Const.unwrap(r)] : r.map(function(e) {
									return goog.string.Const.unwrap(e)
								})).indexOf(e) && (t = goog.html.SafeUrl.INNOCUOUS_STRING)) : t =
							goog.html.SafeUrl.INNOCUOUS_STRING, goog.html.SafeUrl
							.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)
					}, goog.html.SafeUrl.fromTrustedResourceUrl = function(e) {
						return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog
							.html.TrustedResourceUrl.unwrap(e))
					}, goog.html.SAFE_URL_PATTERN_ =
					/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i, goog.html.SafeUrl
					.SAFE_URL_PATTERN = goog.html.SAFE_URL_PATTERN_, goog.html.SafeUrl.sanitize =
					function(e) {
						return e instanceof goog.html.SafeUrl ? e : (e = "object" == typeof e && e
							.implementsGoogStringTypedString ? e.getTypedStringValue() : String(
								e), goog.html.SAFE_URL_PATTERN_.test(e) || (e = goog.html
								.SafeUrl.INNOCUOUS_STRING), goog.html.SafeUrl
							.createSafeUrlSecurityPrivateDoNotAccessOrElse(e))
					}, goog.html.SafeUrl.sanitizeAssertUnchanged = function(e, t) {
						return e instanceof goog.html.SafeUrl ? e : (e = "object" == typeof e && e
							.implementsGoogStringTypedString ? e.getTypedStringValue() : String(
								e), t && /^data:/i.test(e) && (t = goog.html.SafeUrl
								.fromDataUrl(e)).getTypedStringValue() == e ? t : (goog.asserts
								.assert(goog.html.SAFE_URL_PATTERN_.test(e),
									"%s does not match the safe URL pattern", e) || (e = goog
									.html.SafeUrl.INNOCUOUS_STRING), goog.html.SafeUrl
								.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)))
					}, goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {}, goog.html
					.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse = function(e) {
						return new goog.html.SafeUrl(goog.html.SafeUrl.CONSTRUCTOR_TOKEN_PRIVATE_,
							e)
					}, goog.html.SafeUrl.ABOUT_BLANK = goog.html.SafeUrl
					.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank"), goog.html.SafeUrl
					.CONSTRUCTOR_TOKEN_PRIVATE_ = {}, goog.html.SafeStyle = function() {
						this.privateDoNotAccessOrElseSafeStyleWrappedValue_ = "", this
							.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html
							.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_
					}, goog.html.SafeStyle.prototype.implementsGoogStringTypedString = !0, goog.html
					.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {}, goog.html.SafeStyle
					.fromConstant = function(e) {
						return 0 === (e = goog.string.Const.unwrap(e)).length ? goog.html.SafeStyle
							.EMPTY : (goog.asserts.assert(goog.string.internal.endsWith(e, ";"),
									"Last character of style string is not ';': " + e), goog.asserts
								.assert(goog.string.internal.contains(e, ":"),
									"Style string must contain at least one ':', to specify a \"name: value\" pair: " +
									e), goog.html.SafeStyle
								.createSafeStyleSecurityPrivateDoNotAccessOrElse(e))
					}, goog.html.SafeStyle.prototype.getTypedStringValue = function() {
						return this.privateDoNotAccessOrElseSafeStyleWrappedValue_
					}, goog.DEBUG && (goog.html.SafeStyle.prototype.toString = function() {
						return "SafeStyle{" + this
							.privateDoNotAccessOrElseSafeStyleWrappedValue_ + "}"
					}), goog.html.SafeStyle.unwrap = function(e) {
						return e instanceof goog.html.SafeStyle && e.constructor === goog.html
							.SafeStyle && e.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ===
							goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ? e
							.privateDoNotAccessOrElseSafeStyleWrappedValue_ : (goog.asserts.fail(
								"expected object of type SafeStyle, got '" + e + "' of type " +
								goog.typeOf(e)), "type_error:SafeStyle")
					}, goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse =
					function(e) {
						return (new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(e)
					}, goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_ =
					function(e) {
						return this.privateDoNotAccessOrElseSafeStyleWrappedValue_ = e, this
					}, goog.html.SafeStyle.EMPTY = goog.html.SafeStyle
					.createSafeStyleSecurityPrivateDoNotAccessOrElse(""), goog.html.SafeStyle
					.INNOCUOUS_STRING = "zClosurez", goog.html.SafeStyle.create = function(e) {
						var t, r = "";
						for (t in e) {
							if (!/^[-_a-zA-Z0-9]+$/.test(t)) throw Error(
								"Name allows only [-_a-zA-Z0-9], got: " + t);
							var o = e[t];
							null != o && (r += t + ":" + (o = Array.isArray(o) ? goog.array.map(o,
									goog.html.SafeStyle.sanitizePropertyValue_).join(" ") :
								goog.html.SafeStyle.sanitizePropertyValue_(o)) + ";")
						}
						return r ? goog.html.SafeStyle
							.createSafeStyleSecurityPrivateDoNotAccessOrElse(r) : goog.html
							.SafeStyle.EMPTY
					}, goog.html.SafeStyle.sanitizePropertyValue_ = function(e) {
						if (e instanceof goog.html.SafeUrl) return 'url("' + goog.html.SafeUrl
							.unwrap(e).replace(/</g, "%3c").replace(/[\\"]/g, "\\$&") + '")';
						if (e = e instanceof goog.string.Const ? goog.string.Const.unwrap(e) : goog
							.html.SafeStyle.sanitizePropertyValueString_(String(e)), /[{;}]/.test(e)
							) throw new goog.asserts.AssertionError(
							"Value does not allow [{;}], got: %s.", [e]);
						return e
					}, goog.html.SafeStyle.sanitizePropertyValueString_ = function(e) {
						var t = e.replace(goog.html.SafeStyle.FUNCTIONS_RE_, "$1").replace(goog.html
							.SafeStyle.FUNCTIONS_RE_, "$1").replace(goog.html.SafeStyle.URL_RE_,
							"url");
						return goog.html.SafeStyle.VALUE_RE_.test(t) ? goog.html.SafeStyle
							.COMMENT_RE_.test(e) ? (goog.asserts.fail(
									"String value disallows comments, got: " + e), goog.html
								.SafeStyle.INNOCUOUS_STRING) : goog.html.SafeStyle
							.hasBalancedQuotes_(e) ? goog.html.SafeStyle.hasBalancedSquareBrackets_(
								e) ? goog.html.SafeStyle.sanitizeUrl_(e) : (goog.asserts.fail(
								"String value requires balanced square brackets and one identifier per pair of brackets, got: " +
								e), goog.html.SafeStyle.INNOCUOUS_STRING) : (goog.asserts.fail(
									"String value requires balanced quotes, got: " + e), goog.html
								.SafeStyle.INNOCUOUS_STRING) : (goog.asserts.fail(
									"String value allows only " + goog.html.SafeStyle
									.VALUE_ALLOWED_CHARS_ + " and simple functions, got: " + e),
								goog.html.SafeStyle.INNOCUOUS_STRING)
					}, goog.html.SafeStyle.hasBalancedQuotes_ = function(e) {
						for (var t = !0, r = !0, o = 0; o < e.length; o++) {
							var s = e.charAt(o);
							"'" == s && r ? t = !t : '"' == s && t && (r = !r)
						}
						return t && r
					}, goog.html.SafeStyle.hasBalancedSquareBrackets_ = function(e) {
						for (var t = !0, r = /^[-_a-zA-Z0-9]$/, o = 0; o < e.length; o++) {
							var s = e.charAt(o);
							if ("]" == s) {
								if (t) return !1;
								t = !0
							} else if ("[" == s) {
								if (!t) return !1;
								t = !1
							} else if (!t && !r.test(s)) return !1
						}
						return t
					}, goog.html.SafeStyle.VALUE_ALLOWED_CHARS_ = "[-,.\"'%_!# a-zA-Z0-9\\[\\]]",
					goog.html.SafeStyle.VALUE_RE_ = new RegExp("^" + goog.html.SafeStyle
						.VALUE_ALLOWED_CHARS_ + "+$"), goog.html.SafeStyle.URL_RE_ =
					/\b(url\([ \t\n]*)('[ -&(-\[\]-~]*'|"[ !#-\[\]-~]*"|[!#-&*-\[\]-~]*)([ \t\n]*\))/g,
					goog.html.SafeStyle.ALLOWED_FUNCTIONS_ =
					"calc cubic-bezier fit-content hsl hsla linear-gradient matrix minmax repeat rgb rgba (rotate|scale|translate)(X|Y|Z|3d)?"
					.split(" "), goog.html.SafeStyle.FUNCTIONS_RE_ = new RegExp("\\b(" + goog.html
						.SafeStyle.ALLOWED_FUNCTIONS_.join("|") + ")\\([-+*/0-9a-z.%\\[\\], ]+\\)",
						"g"), goog.html.SafeStyle.COMMENT_RE_ = /\/\*/, goog.html.SafeStyle
					.sanitizeUrl_ = function(e) {
						return e.replace(goog.html.SafeStyle.URL_RE_, function(e, t, r, o) {
							var s = "";
							return r = r.replace(/^(['"])(.*)\1$/, function(e, t, r) {
									return s = t, r
								}), e = goog.html.SafeUrl.sanitize(r).getTypedStringValue(),
								t + s + e + s + o
						})
					}, goog.html.SafeStyle.concat = function(e) {
						var t = "",
							r = function(e) {
								Array.isArray(e) ? goog.array.forEach(e, r) : t += goog.html
									.SafeStyle.unwrap(e)
							};
						return goog.array.forEach(arguments, r), t ? goog.html.SafeStyle
							.createSafeStyleSecurityPrivateDoNotAccessOrElse(t) : goog.html
							.SafeStyle.EMPTY
					}, goog.html.SafeStyleSheet = function() {
						this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ = "", this
							.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html
							.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_
					}, goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString = !0, goog
					.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {}, goog.html
					.SafeStyleSheet.createRule = function(e, t) {
						if (goog.string.internal.contains(e, "<")) throw Error(
							"Selector does not allow '<', got: " + e);
						var r = e.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g, "");
						if (!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(r)) throw Error(
							"Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: " +
							e);
						if (!goog.html.SafeStyleSheet.hasBalancedBrackets_(r)) throw Error(
							"() and [] in selector must be balanced, got: " + e);
						return t instanceof goog.html.SafeStyle || (t = goog.html.SafeStyle.create(
								t)), e = e + "{" + goog.html.SafeStyle.unwrap(t).replace(/</g,
								"\\3C ") + "}", goog.html.SafeStyleSheet
							.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(e)
					}, goog.html.SafeStyleSheet.hasBalancedBrackets_ = function(e) {
						for (var t = {
								"(": ")",
								"[": "]"
							}, r = [], o = 0; o < e.length; o++) {
							var s = e[o];
							if (t[s]) r.push(t[s]);
							else if (goog.object.contains(t, s) && r.pop() != s) return !1
						}
						return 0 == r.length
					}, goog.html.SafeStyleSheet.concat = function(e) {
						var t = "",
							r = function(e) {
								Array.isArray(e) ? goog.array.forEach(e, r) : t += goog.html
									.SafeStyleSheet.unwrap(e)
							};
						return goog.array.forEach(arguments, r), goog.html.SafeStyleSheet
							.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)
					}, goog.html.SafeStyleSheet.fromConstant = function(e) {
						return 0 === (e = goog.string.Const.unwrap(e)).length ? goog.html
							.SafeStyleSheet.EMPTY : (goog.asserts.assert(!goog.string.internal
									.contains(e, "<"),
									"Forbidden '<' character in style sheet string: " + e), goog
								.html.SafeStyleSheet
								.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(e))
					}, goog.html.SafeStyleSheet.prototype.getTypedStringValue = function() {
						return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_
					}, goog.DEBUG && (goog.html.SafeStyleSheet.prototype.toString = function() {
						return "SafeStyleSheet{" + this
							.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ + "}"
					}), goog.html.SafeStyleSheet.unwrap = function(e) {
						return e instanceof goog.html.SafeStyleSheet && e.constructor === goog.html
							.SafeStyleSheet && e
							.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ === goog.html
							.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ? e
							.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ : (goog.asserts
								.fail("expected object of type SafeStyleSheet, got '" + e +
									"' of type " + goog.typeOf(e)), "type_error:SafeStyleSheet")
					}, goog.html.SafeStyleSheet
					.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse = function(e) {
						return (new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(
							e)
					}, goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_ =
					function(e) {
						return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_ = e, this
					}, goog.html.SafeStyleSheet.EMPTY = goog.html.SafeStyleSheet
					.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(""), goog.labs = {}, goog
					.labs.userAgent = {}, goog.labs.userAgent.util = {}, goog.labs.userAgent.util
					.getNativeUserAgentString_ = function() {
						var e = goog.labs.userAgent.util.getNavigator_();
						return e && (e = e.userAgent) ? e : ""
					}, goog.labs.userAgent.util.getNavigator_ = function() {
						return goog.global.navigator
					}, goog.labs.userAgent.util.userAgent_ = goog.labs.userAgent.util
					.getNativeUserAgentString_(), goog.labs.userAgent.util.setUserAgent = function(
						e) {
						goog.labs.userAgent.util.userAgent_ = e || goog.labs.userAgent.util
							.getNativeUserAgentString_()
					}, goog.labs.userAgent.util.getUserAgent = function() {
						return goog.labs.userAgent.util.userAgent_
					}, goog.labs.userAgent.util.matchUserAgent = function(e) {
						var t = goog.labs.userAgent.util.getUserAgent();
						return goog.string.internal.contains(t, e)
					}, goog.labs.userAgent.util.matchUserAgentIgnoreCase = function(e) {
						var t = goog.labs.userAgent.util.getUserAgent();
						return goog.string.internal.caseInsensitiveContains(t, e)
					}, goog.labs.userAgent.util.extractVersionTuples = function(e) {
						for (var t, r = /(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g, o = []; t = r
							.exec(e);) o.push([t[1], t[2], t[3] || void 0]);
						return o
					}, goog.labs.userAgent.browser = {}, goog.labs.userAgent.browser.matchOpera_ =
					function() {
						return goog.labs.userAgent.util.matchUserAgent("Opera")
					}, goog.labs.userAgent.browser.matchIE_ = function() {
						return goog.labs.userAgent.util.matchUserAgent("Trident") || goog.labs
							.userAgent.util.matchUserAgent("MSIE")
					}, goog.labs.userAgent.browser.matchEdgeHtml_ = function() {
						return goog.labs.userAgent.util.matchUserAgent("Edge")
					}, goog.labs.userAgent.browser.matchEdgeChromium_ = function() {
						return goog.labs.userAgent.util.matchUserAgent("Edg/")
					}, goog.labs.userAgent.browser.matchOperaChromium_ = function() {
						return goog.labs.userAgent.util.matchUserAgent("OPR")
					}, goog.labs.userAgent.browser.matchFirefox_ = function() {
						return goog.labs.userAgent.util.matchUserAgent("Firefox") || goog.labs
							.userAgent.util.matchUserAgent("FxiOS")
					}, goog.labs.userAgent.browser.matchSafari_ = function() {
						return goog.labs.userAgent.util.matchUserAgent("Safari") && !(goog.labs
							.userAgent.browser.matchChrome_() || goog.labs.userAgent.browser
							.matchCoast_() || goog.labs.userAgent.browser.matchOpera_() || goog
							.labs.userAgent.browser.matchEdgeHtml_() || goog.labs.userAgent
							.browser.matchEdgeChromium_() || goog.labs.userAgent.browser
							.matchOperaChromium_() || goog.labs.userAgent.browser
							.matchFirefox_() || goog.labs.userAgent.browser.isSilk() || goog
							.labs.userAgent.util.matchUserAgent("Android"))
					}, goog.labs.userAgent.browser.matchCoast_ = function() {
						return goog.labs.userAgent.util.matchUserAgent("Coast")
					}, goog.labs.userAgent.browser.matchIosWebview_ = function() {
						return (goog.labs.userAgent.util.matchUserAgent("iPad") || goog.labs
								.userAgent.util.matchUserAgent("iPhone")) && !goog.labs.userAgent
							.browser.matchSafari_() && !goog.labs.userAgent.browser
						.matchChrome_() && !goog.labs.userAgent.browser.matchCoast_() && !goog.labs
							.userAgent.browser.matchFirefox_() && goog.labs.userAgent.util
							.matchUserAgent("AppleWebKit")
					}, goog.labs.userAgent.browser.matchChrome_ = function() {
						return (goog.labs.userAgent.util.matchUserAgent("Chrome") || goog.labs
								.userAgent.util.matchUserAgent("CriOS")) && !goog.labs.userAgent
							.browser.matchEdgeHtml_()
					}, goog.labs.userAgent.browser.matchAndroidBrowser_ = function() {
						return goog.labs.userAgent.util.matchUserAgent("Android") && !(goog.labs
							.userAgent.browser.isChrome() || goog.labs.userAgent.browser
							.isFirefox() || goog.labs.userAgent.browser.isOpera() || goog.labs
							.userAgent.browser.isSilk())
					}, goog.labs.userAgent.browser.isOpera = goog.labs.userAgent.browser
					.matchOpera_, goog.labs.userAgent.browser.isIE = goog.labs.userAgent.browser
					.matchIE_, goog.labs.userAgent.browser.isEdge = goog.labs.userAgent.browser
					.matchEdgeHtml_, goog.labs.userAgent.browser.isEdgeChromium = goog.labs
					.userAgent.browser.matchEdgeChromium_, goog.labs.userAgent.browser
					.isOperaChromium = goog.labs.userAgent.browser.matchOperaChromium_, goog.labs
					.userAgent.browser.isFirefox = goog.labs.userAgent.browser.matchFirefox_, goog
					.labs.userAgent.browser.isSafari = goog.labs.userAgent.browser.matchSafari_,
					goog.labs.userAgent.browser.isCoast = goog.labs.userAgent.browser.matchCoast_,
					goog.labs.userAgent.browser.isIosWebview = goog.labs.userAgent.browser
					.matchIosWebview_, goog.labs.userAgent.browser.isChrome = goog.labs.userAgent
					.browser.matchChrome_, goog.labs.userAgent.browser.isAndroidBrowser = goog.labs
					.userAgent.browser.matchAndroidBrowser_, goog.labs.userAgent.browser.isSilk =
					function() {
						return goog.labs.userAgent.util.matchUserAgent("Silk")
					}, goog.labs.userAgent.browser.getVersion = function() {
						function e(e) {
							return e = goog.array.find(e, o), r[e] || ""
						}
						var t = goog.labs.userAgent.util.getUserAgent();
						if (goog.labs.userAgent.browser.isIE()) return goog.labs.userAgent.browser
							.getIEVersion_(t);
						t = goog.labs.userAgent.util.extractVersionTuples(t);
						var r = {};
						goog.array.forEach(t, function(e) {
							r[e[0]] = e[1]
						});
						var o = goog.partial(goog.object.containsKey, r);
						return goog.labs.userAgent.browser.isOpera() ? e(["Version", "Opera"]) :
							goog.labs.userAgent.browser.isEdge() ? e(["Edge"]) : goog.labs.userAgent
							.browser.isEdgeChromium() ? e(["Edg"]) : goog.labs.userAgent.browser
							.isChrome() ? e(["Chrome", "CriOS", "HeadlessChrome"]) : (t = t[2]) &&
							t[1] || ""
					}, goog.labs.userAgent.browser.isVersionOrHigher = function(e) {
						return 0 <= goog.string.internal.compareVersions(goog.labs.userAgent.browser
							.getVersion(), e)
					}, goog.labs.userAgent.browser.getIEVersion_ = function(e) {
						var t = /rv: *([\d\.]*)/.exec(e);
						if (t && t[1]) return t[1];
						t = "";
						var r = /MSIE +([\d\.]+)/.exec(e);
						if (r && r[1])
							if (e = /Trident\/(\d.\d)/.exec(e), "7.0" == r[1])
								if (e && e[1]) switch (e[1]) {
									case "4.0":
										t = "8.0";
										break;
									case "5.0":
										t = "9.0";
										break;
									case "6.0":
										t = "10.0";
										break;
									case "7.0":
										t = "11.0"
								} else t = "7.0";
								else t = r[1];
						return t
					}, goog.html.SafeHtml = function() {
						this.privateDoNotAccessOrElseSafeHtmlWrappedValue_ = "", this
							.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = goog.html.SafeHtml
							.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_, this.dir_ = null
					}, goog.html.SafeHtml.ENABLE_ERROR_MESSAGES = goog.DEBUG, goog.html.SafeHtml
					.SUPPORT_STYLE_ATTRIBUTE = !0, goog.html.SafeHtml.prototype
					.implementsGoogI18nBidiDirectionalString = !0, goog.html.SafeHtml.prototype
					.getDirection = function() {
						return this.dir_
					}, goog.html.SafeHtml.prototype.implementsGoogStringTypedString = !0, goog.html
					.SafeHtml.prototype.getTypedStringValue = function() {
						return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString()
					}, goog.DEBUG && (goog.html.SafeHtml.prototype.toString = function() {
						return "SafeHtml{" + this
							.privateDoNotAccessOrElseSafeHtmlWrappedValue_ + "}"
					}), goog.html.SafeHtml.unwrap = function(e) {
						return goog.html.SafeHtml.unwrapTrustedHTML(e).toString()
					}, goog.html.SafeHtml.unwrapTrustedHTML = function(e) {
						return e instanceof goog.html.SafeHtml && e.constructor === goog.html
							.SafeHtml && e.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ===
							goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ ? e
							.privateDoNotAccessOrElseSafeHtmlWrappedValue_ : (goog.asserts.fail(
								"expected object of type SafeHtml, got '" + e + "' of type " +
								goog.typeOf(e)), "type_error:SafeHtml")
					}, goog.html.SafeHtml.htmlEscape = function(e) {
						if (e instanceof goog.html.SafeHtml) return e;
						var t = "object" == typeof e,
							r = null;
						return t && e.implementsGoogI18nBidiDirectionalString && (r = e
								.getDirection()), e = t && e.implementsGoogStringTypedString ? e
							.getTypedStringValue() : String(e), goog.html.SafeHtml
							.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal
								.htmlEscape(e), r)
					}, goog.html.SafeHtml.htmlEscapePreservingNewlines = function(e) {
						return e instanceof goog.html.SafeHtml ? e : (e = goog.html.SafeHtml
							.htmlEscape(e), goog.html.SafeHtml
							.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal
								.newLineToBr(goog.html.SafeHtml.unwrap(e)), e.getDirection()))
					}, goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces = function(e) {
						return e instanceof goog.html.SafeHtml ? e : (e = goog.html.SafeHtml
							.htmlEscape(e), goog.html.SafeHtml
							.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal
								.whitespaceEscape(goog.html.SafeHtml.unwrap(e)), e
								.getDirection()))
					}, goog.html.SafeHtml.from = goog.html.SafeHtml.htmlEscape, goog.html.SafeHtml
					.comment = function(e) {
						return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(
							"\x3c!--" + goog.string.internal.htmlEscape(e) + "--\x3e", null)
					}, goog.html.SafeHtml.VALID_NAMES_IN_TAG_ = /^[a-zA-Z0-9-]+$/, goog.html
					.SafeHtml.URL_ATTRIBUTES_ = {
						action: !0,
						cite: !0,
						data: !0,
						formaction: !0,
						href: !0,
						manifest: !0,
						poster: !0,
						src: !0
					}, goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_ = {
						APPLET: !0,
						BASE: !0,
						EMBED: !0,
						IFRAME: !0,
						LINK: !0,
						MATH: !0,
						META: !0,
						OBJECT: !0,
						SCRIPT: !0,
						STYLE: !0,
						SVG: !0,
						TEMPLATE: !0
					}, goog.html.SafeHtml.create = function(e, t, r) {
						return goog.html.SafeHtml.verifyTagName(String(e)), goog.html.SafeHtml
							.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(e), t, r)
					}, goog.html.SafeHtml.verifyTagName = function(e) {
						if (!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(e)) throw Error(goog.html
							.SafeHtml.ENABLE_ERROR_MESSAGES ? "Invalid tag name <" + e +
							">." : "");
						if (e.toUpperCase() in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)
						throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES ? "Tag name <" +
								e + "> is not allowed for SafeHtml." : "")
					}, goog.html.SafeHtml.createIframe = function(e, t, r, o) {
						e && goog.html.TrustedResourceUrl.unwrap(e);
						var s = {};
						return s.src = e || null, s.srcdoc = t && goog.html.SafeHtml.unwrap(t), e =
							goog.html.SafeHtml.combineAttributes(s, {
								sandbox: ""
							}, r), goog.html.SafeHtml
							.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe", e, o)
					}, goog.html.SafeHtml.createSandboxIframe = function(e, t, r, o) {
						if (!goog.html.SafeHtml.canUseSandboxIframe()) throw Error(goog.html
							.SafeHtml.ENABLE_ERROR_MESSAGES ?
							"The browser does not support sandboxed iframes." : "");
						var s = {};
						return s.src = e ? goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(e)) :
							null, s.srcdoc = t || null, s.sandbox = "", e = goog.html.SafeHtml
							.combineAttributes(s, {}, r), goog.html.SafeHtml
							.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe", e, o)
					}, goog.html.SafeHtml.canUseSandboxIframe = function() {
						return goog.global.HTMLIFrameElement && "sandbox" in goog.global
							.HTMLIFrameElement.prototype
					}, goog.html.SafeHtml.createScriptSrc = function(e, t) {
						return goog.html.TrustedResourceUrl.unwrap(e), e = goog.html.SafeHtml
							.combineAttributes({
								src: e
							}, {}, t), goog.html.SafeHtml
							.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script", e)
					}, goog.html.SafeHtml.createScript = function(e, t) {
						for (var r in t) {
							var o = r.toLowerCase();
							if ("language" == o || "src" == o || "text" == o || "type" == o)
							throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES ?
									'Cannot set "' + o + '" attribute' : "")
						}
						for (r = "", e = goog.array.concat(e), o = 0; o < e.length; o++) r += goog
							.html.SafeScript.unwrap(e[o]);
						return e = goog.html.SafeHtml
							.createSafeHtmlSecurityPrivateDoNotAccessOrElse(r, goog.i18n.bidi.Dir
								.NEUTRAL), goog.html.SafeHtml
							.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script", t, e)
					}, goog.html.SafeHtml.createStyle = function(e, t) {
						t = goog.html.SafeHtml.combineAttributes({
							type: "text/css"
						}, {}, t);
						var r = "";
						e = goog.array.concat(e);
						for (var o = 0; o < e.length; o++) r += goog.html.SafeStyleSheet.unwrap(e[
							o]);
						return e = goog.html.SafeHtml
							.createSafeHtmlSecurityPrivateDoNotAccessOrElse(r, goog.i18n.bidi.Dir
								.NEUTRAL), goog.html.SafeHtml
							.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style", t, e)
					}, goog.html.SafeHtml.createMetaRefresh = function(e, t) {
						return e = goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(e)), (goog
								.labs.userAgent.browser.isIE() || goog.labs.userAgent.browser
								.isEdge()) && goog.string.internal.contains(e, ";") && (e = "'" + e
								.replace(/'/g, "%27") + "'"), goog.html.SafeHtml
							.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta", {
								"http-equiv": "refresh",
								content: (t || 0) + "; url=" + e
							})
					}, goog.html.SafeHtml.getAttrNameAndValue_ = function(e, t, r) {
						if (r instanceof goog.string.Const) r = goog.string.Const.unwrap(r);
						else if ("style" == t.toLowerCase()) {
							if (!goog.html.SafeHtml.SUPPORT_STYLE_ATTRIBUTE) throw Error(goog.html
								.SafeHtml.ENABLE_ERROR_MESSAGES ?
								'Attribute "style" not supported.' : "");
							r = goog.html.SafeHtml.getStyleValue_(r)
						} else {
							if (/^on/i.test(t)) throw Error(goog.html.SafeHtml
								.ENABLE_ERROR_MESSAGES ? 'Attribute "' + t +
								'" requires goog.string.Const value, "' + r + '" given.' :
								"");
							if (t.toLowerCase() in goog.html.SafeHtml.URL_ATTRIBUTES_)
								if (r instanceof goog.html.TrustedResourceUrl) r = goog.html
									.TrustedResourceUrl.unwrap(r);
								else if (r instanceof goog.html.SafeUrl) r = goog.html.SafeUrl
								.unwrap(r);
							else {
								if ("string" != typeof r) throw Error(goog.html.SafeHtml
									.ENABLE_ERROR_MESSAGES ? 'Attribute "' + t +
									'" on tag "' + e +
									'" requires goog.html.SafeUrl, goog.string.Const, or string, value "' +
									r + '" given.' : "");
								r = goog.html.SafeUrl.sanitize(r).getTypedStringValue()
							}
						}
						return r.implementsGoogStringTypedString && (r = r.getTypedStringValue()),
							goog.asserts.assert("string" == typeof r || "number" == typeof r,
								"String or number value expected, got " + typeof r +
								" with value: " + r), t + '="' + goog.string.internal.htmlEscape(
								String(r)) + '"'
					}, goog.html.SafeHtml.getStyleValue_ = function(e) {
						if (!goog.isObject(e)) throw Error(goog.html.SafeHtml
							.ENABLE_ERROR_MESSAGES ?
							'The "style" attribute requires goog.html.SafeStyle or map of style properties, ' +
							typeof e + " given: " + e : "");
						return e instanceof goog.html.SafeStyle || (e = goog.html.SafeStyle.create(
							e)), goog.html.SafeStyle.unwrap(e)
					}, goog.html.SafeHtml.createWithDir = function(e, t, r, o) {
						return (t = goog.html.SafeHtml.create(t, r, o)).dir_ = e, t
					}, goog.html.SafeHtml.join = function(e, t) {
						var r = (e = goog.html.SafeHtml.htmlEscape(e)).getDirection(),
							o = [],
							s = function(e) {
								Array.isArray(e) ? goog.array.forEach(e, s) : (e = goog.html
									.SafeHtml.htmlEscape(e), o.push(goog.html.SafeHtml.unwrap(
										e)), e = e.getDirection(), r == goog.i18n.bidi.Dir
									.NEUTRAL ? r = e : e != goog.i18n.bidi.Dir.NEUTRAL && r !=
									e && (r = null))
							};
						return goog.array.forEach(t, s), goog.html.SafeHtml
							.createSafeHtmlSecurityPrivateDoNotAccessOrElse(o.join(goog.html
								.SafeHtml.unwrap(e)), r)
					}, goog.html.SafeHtml.concat = function(e) {
						return goog.html.SafeHtml.join(goog.html.SafeHtml.EMPTY, Array.prototype
							.slice.call(arguments))
					}, goog.html.SafeHtml.concatWithDir = function(e, t) {
						var r = goog.html.SafeHtml.concat(goog.array.slice(arguments, 1));
						return r.dir_ = e, r
					}, goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_ = {}, goog.html
					.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse = function(e, t) {
						return (new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(e, t)
					}, goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_ =
					function(e, t) {
						return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_ = goog.html
							.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY ? goog.html
							.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createHTML(e) : e,
							this.dir_ = t, this
					}, goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse =
					function(e, t, r) {
						var o = null,
							s = "<" + e + goog.html.SafeHtml.stringifyAttributes(e, t);
						return null == r ? r = [] : Array.isArray(r) || (r = [r]), goog.dom.tags
							.isVoidTag(e.toLowerCase()) ? (goog.asserts.assert(!r.length,
								"Void tag <" + e + "> does not allow content."), s += ">") : (o =
								goog.html.SafeHtml.concat(r), s += ">" + goog.html.SafeHtml.unwrap(
									o) + "</" + e + ">", o = o.getDirection()), (e = t && t.dir) &&
							(o = /^(ltr|rtl|auto)$/i.test(e) ? goog.i18n.bidi.Dir.NEUTRAL : null),
							goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(s, o)
					}, goog.html.SafeHtml.stringifyAttributes = function(e, t) {
						var r = "";
						if (t)
							for (var o in t) {
								if (!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(o)) throw Error(
									goog.html.SafeHtml.ENABLE_ERROR_MESSAGES ?
									'Invalid attribute name "' + o + '".' : "");
								var s = t[o];
								null != s && (r += " " + goog.html.SafeHtml.getAttrNameAndValue_(e,
									o, s))
							}
						return r
					}, goog.html.SafeHtml.combineAttributes = function(e, t, r) {
						var o, s = {};
						for (o in e) goog.asserts.assert(o.toLowerCase() == o,
							"Must be lower case"), s[o] = e[o];
						for (o in t) goog.asserts.assert(o.toLowerCase() == o,
							"Must be lower case"), s[o] = t[o];
						if (r)
							for (o in r) {
								var i = o.toLowerCase();
								if (i in e) throw Error(goog.html.SafeHtml.ENABLE_ERROR_MESSAGES ?
									'Cannot override "' + i + '" attribute, got "' + o +
									'" with value "' + r[o] + '"' : "");
								i in t && delete s[i], s[o] = r[o]
							}
						return s
					}, goog.html.SafeHtml.DOCTYPE_HTML = goog.html.SafeHtml
					.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>", goog.i18n
						.bidi.Dir.NEUTRAL), goog.html.SafeHtml.EMPTY = goog.html.SafeHtml
					.createSafeHtmlSecurityPrivateDoNotAccessOrElse("", goog.i18n.bidi.Dir.NEUTRAL),
					goog.html.SafeHtml.BR = goog.html.SafeHtml
					.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>", goog.i18n.bidi.Dir
						.NEUTRAL), goog.html.uncheckedconversions = {}, goog.html
					.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract = function(e,
						t, r) {
						return goog.asserts.assertString(goog.string.Const.unwrap(e),
								"must provide justification"), goog.asserts.assert(!goog.string
								.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),
								"must provide non-empty justification"), goog.html.SafeHtml
							.createSafeHtmlSecurityPrivateDoNotAccessOrElse(t, r || null)
					}, goog.html.uncheckedconversions
					.safeScriptFromStringKnownToSatisfyTypeContract = function(e, t) {
						return goog.asserts.assertString(goog.string.Const.unwrap(e),
								"must provide justification"), goog.asserts.assert(!goog.string
								.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),
								"must provide non-empty justification"), goog.html.SafeScript
							.createSafeScriptSecurityPrivateDoNotAccessOrElse(t)
					}, goog.html.uncheckedconversions
					.safeStyleFromStringKnownToSatisfyTypeContract = function(e, t) {
						return goog.asserts.assertString(goog.string.Const.unwrap(e),
								"must provide justification"), goog.asserts.assert(!goog.string
								.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),
								"must provide non-empty justification"), goog.html.SafeStyle
							.createSafeStyleSecurityPrivateDoNotAccessOrElse(t)
					}, goog.html.uncheckedconversions
					.safeStyleSheetFromStringKnownToSatisfyTypeContract = function(e, t) {
						return goog.asserts.assertString(goog.string.Const.unwrap(e),
								"must provide justification"), goog.asserts.assert(!goog.string
								.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),
								"must provide non-empty justification"), goog.html.SafeStyleSheet
							.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)
					}, goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract =
					function(e, t) {
						return goog.asserts.assertString(goog.string.Const.unwrap(e),
								"must provide justification"), goog.asserts.assert(!goog.string
								.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),
								"must provide non-empty justification"), goog.html.SafeUrl
							.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)
					}, goog.html.uncheckedconversions
					.trustedResourceUrlFromStringKnownToSatisfyTypeContract = function(e, t) {
						return goog.asserts.assertString(goog.string.Const.unwrap(e),
								"must provide justification"), goog.asserts.assert(!goog.string
								.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),
								"must provide non-empty justification"), goog.html
							.TrustedResourceUrl
							.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)
					}, goog.dom.safe = {}, goog.dom.safe.InsertAdjacentHtmlPosition = {
						AFTERBEGIN: "afterbegin",
						AFTEREND: "afterend",
						BEFOREBEGIN: "beforebegin",
						BEFOREEND: "beforeend"
					}, goog.dom.safe.insertAdjacentHtml = function(e, t, r) {
						e.insertAdjacentHTML(t, goog.html.SafeHtml.unwrapTrustedHTML(r))
					}, goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_ = {
						MATH: !0,
						SCRIPT: !0,
						STYLE: !0,
						SVG: !0,
						TEMPLATE: !0
					}, goog.dom.safe.isInnerHtmlCleanupRecursive_ = goog.functions.cacheReturnValue(
						function() {
							if (goog.DEBUG && "undefined" == typeof document) return !1;
							var e = document.createElement("div"),
								t = document.createElement("div");
							return t.appendChild(document.createElement("div")), e.appendChild(t), !
								(goog.DEBUG && !e.firstChild) && (t = e.firstChild.firstChild, e
									.innerHTML = goog.html.SafeHtml.unwrapTrustedHTML(goog.html
										.SafeHtml.EMPTY), !t.parentElement)
						}), goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse = function(e, t) {
						if (goog.dom.safe.isInnerHtmlCleanupRecursive_())
							for (; e.lastChild;) e.removeChild(e.lastChild);
						e.innerHTML = goog.html.SafeHtml.unwrapTrustedHTML(t)
					}, goog.dom.safe.setInnerHtml = function(e, t) {
						if (goog.asserts.ENABLE_ASSERTS) {
							var r = e.tagName.toUpperCase();
							if (goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[r]) throw Error(
								"goog.dom.safe.setInnerHtml cannot be used to set content of " +
								e.tagName + ".")
						}
						goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(e, t)
					}, goog.dom.safe.setOuterHtml = function(e, t) {
						e.outerHTML = goog.html.SafeHtml.unwrapTrustedHTML(t)
					}, goog.dom.safe.setFormElementAction = function(e, t) {
						t = t instanceof goog.html.SafeUrl ? t : goog.html.SafeUrl
							.sanitizeAssertUnchanged(t), goog.dom.asserts.assertIsHTMLFormElement(e)
							.action = goog.html.SafeUrl.unwrap(t)
					}, goog.dom.safe.setButtonFormAction = function(e, t) {
						t = t instanceof goog.html.SafeUrl ? t : goog.html.SafeUrl
							.sanitizeAssertUnchanged(t), goog.dom.asserts.assertIsHTMLButtonElement(
								e).formAction = goog.html.SafeUrl.unwrap(t)
					}, goog.dom.safe.setInputFormAction = function(e, t) {
						t = t instanceof goog.html.SafeUrl ? t : goog.html.SafeUrl
							.sanitizeAssertUnchanged(t), goog.dom.asserts.assertIsHTMLInputElement(
								e).formAction = goog.html.SafeUrl.unwrap(t)
					}, goog.dom.safe.setStyle = function(e, t) {
						e.style.cssText = goog.html.SafeStyle.unwrap(t)
					}, goog.dom.safe.documentWrite = function(e, t) {
						e.write(goog.html.SafeHtml.unwrapTrustedHTML(t))
					}, goog.dom.safe.setAnchorHref = function(e, t) {
						goog.dom.asserts.assertIsHTMLAnchorElement(e), t = t instanceof goog.html
							.SafeUrl ? t : goog.html.SafeUrl.sanitizeAssertUnchanged(t), e.href =
							goog.html.SafeUrl.unwrap(t)
					}, goog.dom.safe.setImageSrc = function(e, t) {
						if (goog.dom.asserts.assertIsHTMLImageElement(e), !(t instanceof goog.html
								.SafeUrl)) {
							var r = /^data:image\//i.test(t);
							t = goog.html.SafeUrl.sanitizeAssertUnchanged(t, r)
						}
						e.src = goog.html.SafeUrl.unwrap(t)
					}, goog.dom.safe.setAudioSrc = function(e, t) {
						if (goog.dom.asserts.assertIsHTMLAudioElement(e), !(t instanceof goog.html
								.SafeUrl)) {
							var r = /^data:audio\//i.test(t);
							t = goog.html.SafeUrl.sanitizeAssertUnchanged(t, r)
						}
						e.src = goog.html.SafeUrl.unwrap(t)
					}, goog.dom.safe.setVideoSrc = function(e, t) {
						if (goog.dom.asserts.assertIsHTMLVideoElement(e), !(t instanceof goog.html
								.SafeUrl)) {
							var r = /^data:video\//i.test(t);
							t = goog.html.SafeUrl.sanitizeAssertUnchanged(t, r)
						}
						e.src = goog.html.SafeUrl.unwrap(t)
					}, goog.dom.safe.setEmbedSrc = function(e, t) {
						goog.dom.asserts.assertIsHTMLEmbedElement(e), e.src = goog.html
							.TrustedResourceUrl.unwrapTrustedScriptURL(t)
					}, goog.dom.safe.setFrameSrc = function(e, t) {
						goog.dom.asserts.assertIsHTMLFrameElement(e), e.src = goog.html
							.TrustedResourceUrl.unwrap(t)
					}, goog.dom.safe.setIframeSrc = function(e, t) {
						goog.dom.asserts.assertIsHTMLIFrameElement(e), e.src = goog.html
							.TrustedResourceUrl.unwrap(t)
					}, goog.dom.safe.setIframeSrcdoc = function(e, t) {
						goog.dom.asserts.assertIsHTMLIFrameElement(e), e.srcdoc = goog.html.SafeHtml
							.unwrapTrustedHTML(t)
					}, goog.dom.safe.setLinkHrefAndRel = function(e, t, r) {
						goog.dom.asserts.assertIsHTMLLinkElement(e), e.rel = r, goog.string.internal
							.caseInsensitiveContains(r, "stylesheet") ? (goog.asserts.assert(
								t instanceof goog.html.TrustedResourceUrl,
								'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'
								), e.href = goog.html.TrustedResourceUrl.unwrap(t)) : e.href =
							t instanceof goog.html.TrustedResourceUrl ? goog.html.TrustedResourceUrl
							.unwrap(t) : t instanceof goog.html.SafeUrl ? goog.html.SafeUrl.unwrap(
								t) : goog.html.SafeUrl.unwrap(goog.html.SafeUrl
								.sanitizeAssertUnchanged(t))
					}, goog.dom.safe.setObjectData = function(e, t) {
						goog.dom.asserts.assertIsHTMLObjectElement(e), e.data = goog.html
							.TrustedResourceUrl.unwrapTrustedScriptURL(t)
					}, goog.dom.safe.setScriptSrc = function(e, t) {
						goog.dom.asserts.assertIsHTMLScriptElement(e), e.src = goog.html
							.TrustedResourceUrl.unwrapTrustedScriptURL(t), (t = goog
							.getScriptNonce()) && e.setAttribute("nonce", t)
					}, goog.dom.safe.setScriptContent = function(e, t) {
						goog.dom.asserts.assertIsHTMLScriptElement(e), e.text = goog.html.SafeScript
							.unwrapTrustedScript(t), (t = goog.getScriptNonce()) && e.setAttribute(
								"nonce", t)
					}, goog.dom.safe.setLocationHref = function(e, t) {
						goog.dom.asserts.assertIsLocation(e), t = t instanceof goog.html.SafeUrl ?
							t : goog.html.SafeUrl.sanitizeAssertUnchanged(t), e.href = goog.html
							.SafeUrl.unwrap(t)
					}, goog.dom.safe.assignLocation = function(e, t) {
						goog.dom.asserts.assertIsLocation(e), t = t instanceof goog.html.SafeUrl ?
							t : goog.html.SafeUrl.sanitizeAssertUnchanged(t), e.assign(goog.html
								.SafeUrl.unwrap(t))
					}, goog.dom.safe.replaceLocation = function(e, t) {
						t = t instanceof goog.html.SafeUrl ? t : goog.html.SafeUrl
							.sanitizeAssertUnchanged(t), e.replace(goog.html.SafeUrl.unwrap(t))
					}, goog.dom.safe.openInWindow = function(e, t, r, o, s) {
						return e = e instanceof goog.html.SafeUrl ? e : goog.html.SafeUrl
							.sanitizeAssertUnchanged(e), t = t || goog.global, r = r instanceof goog
							.string.Const ? goog.string.Const.unwrap(r) : r || "", t.open(goog.html
								.SafeUrl.unwrap(e), r, o, s)
					}, goog.dom.safe.parseFromStringHtml = function(e, t) {
						return goog.dom.safe.parseFromString(e, t, "text/html")
					}, goog.dom.safe.parseFromString = function(e, t, r) {
						return e.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(t), r)
					}, goog.dom.safe.createImageFromBlob = function(e) {
						if (!/^image\/.*/g.test(e.type)) throw Error(
							"goog.dom.safe.createImageFromBlob only accepts MIME type image/.*."
							);
						var t = goog.global.URL.createObjectURL(e);
						return (e = new goog.global.Image).onload = function() {
							goog.global.URL.revokeObjectURL(t)
						}, goog.dom.safe.setImageSrc(e, goog.html.uncheckedconversions
							.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from(
								"Image blob URL."), t)), e
					}, goog.string.DETECT_DOUBLE_ESCAPING = !1, goog.string
					.FORCE_NON_DOM_HTML_UNESCAPING = !1, goog.string.Unicode = {
						NBSP: " "
					}, goog.string.startsWith = goog.string.internal.startsWith, goog.string
					.endsWith = goog.string.internal.endsWith, goog.string
					.caseInsensitiveStartsWith = goog.string.internal.caseInsensitiveStartsWith,
					goog.string.caseInsensitiveEndsWith = goog.string.internal
					.caseInsensitiveEndsWith, goog.string.caseInsensitiveEquals = goog.string
					.internal.caseInsensitiveEquals, goog.string.subs = function(e, t) {
						for (var r = e.split("%s"), o = "", s = Array.prototype.slice.call(
								arguments, 1); s.length && 1 < r.length;) o += r.shift() + s
					.shift();
						return o + r.join("%s")
					}, goog.string.collapseWhitespace = function(e) {
						return e.replace(/[\s\xa0]+/g, " ").replace(/^\s+|\s+$/g, "")
					}, goog.string.isEmptyOrWhitespace = goog.string.internal.isEmptyOrWhitespace,
					goog.string.isEmptyString = function(e) {
						return 0 == e.length
					}, goog.string.isEmpty = goog.string.isEmptyOrWhitespace, goog.string
					.isEmptyOrWhitespaceSafe = function(e) {
						return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(e))
					}, goog.string.isEmptySafe = goog.string.isEmptyOrWhitespaceSafe, goog.string
					.isBreakingWhitespace = function(e) {
						return !/[^\t\n\r ]/.test(e)
					}, goog.string.isAlpha = function(e) {
						return !/[^a-zA-Z]/.test(e)
					}, goog.string.isNumeric = function(e) {
						return !/[^0-9]/.test(e)
					}, goog.string.isAlphaNumeric = function(e) {
						return !/[^a-zA-Z0-9]/.test(e)
					}, goog.string.isSpace = function(e) {
						return " " == e
					}, goog.string.isUnicodeChar = function(e) {
						return 1 == e.length && " " <= e && "~" >= e || "" <= e && "�" >= e
					}, goog.string.stripNewlines = function(e) {
						return e.replace(/(\r\n|\r|\n)+/g, " ")
					}, goog.string.canonicalizeNewlines = function(e) {
						return e.replace(/(\r\n|\r|\n)/g, "\n")
					}, goog.string.normalizeWhitespace = function(e) {
						return e.replace(/\xa0|\s/g, " ")
					}, goog.string.normalizeSpaces = function(e) {
						return e.replace(/\xa0|[ \t]+/g, " ")
					}, goog.string.collapseBreakingSpaces = function(e) {
						return e.replace(/[\t\r\n ]+/g, " ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g, "")
					}, goog.string.trim = goog.string.internal.trim, goog.string.trimLeft =
					function(e) {
						return e.replace(/^[\s\xa0]+/, "")
					}, goog.string.trimRight = function(e) {
						return e.replace(/[\s\xa0]+$/, "")
					}, goog.string.caseInsensitiveCompare = goog.string.internal
					.caseInsensitiveCompare, goog.string.numberAwareCompare_ = function(e, t, r) {
						if (e == t) return 0;
						if (!e) return -1;
						if (!t) return 1;
						for (var o = e.toLowerCase().match(r), s = t.toLowerCase().match(r), i =
								Math.min(o.length, s.length), n = 0; n < i; n++) {
							r = o[n];
							var a = s[n];
							if (r != a) return e = parseInt(r, 10), !isNaN(e) && (t = parseInt(a,
								10), !isNaN(t) && e - t) ? e - t : r < a ? -1 : 1
						}
						return o.length != s.length ? o.length - s.length : e < t ? -1 : 1
					}, goog.string.intAwareCompare = function(e, t) {
						return goog.string.numberAwareCompare_(e, t, /\d+|\D+/g)
					}, goog.string.floatAwareCompare = function(e, t) {
						return goog.string.numberAwareCompare_(e, t, /\d+|\.\d+|\D+/g)
					}, goog.string.numerateCompare = goog.string.floatAwareCompare, goog.string
					.urlEncode = function(e) {
						return encodeURIComponent(String(e))
					}, goog.string.urlDecode = function(e) {
						return decodeURIComponent(e.replace(/\+/g, " "))
					}, goog.string.newLineToBr = goog.string.internal.newLineToBr, goog.string
					.htmlEscape = function(e, t) {
						return e = goog.string.internal.htmlEscape(e, t), goog.string
							.DETECT_DOUBLE_ESCAPING && (e = e.replace(goog.string.E_RE_, "&#101;")),
							e
					}, goog.string.E_RE_ = /e/g, goog.string.unescapeEntities = function(e) {
						return goog.string.contains(e, "&") ? !goog.string
							.FORCE_NON_DOM_HTML_UNESCAPING && "document" in goog.global ? goog
							.string.unescapeEntitiesUsingDom_(e) : goog.string
							.unescapePureXmlEntities_(e) : e
					}, goog.string.unescapeEntitiesWithDocument = function(e, t) {
						return goog.string.contains(e, "&") ? goog.string.unescapeEntitiesUsingDom_(
							e, t) : e
					}, goog.string.unescapeEntitiesUsingDom_ = function(e, t) {
						var r = {
								"&amp;": "&",
								"&lt;": "<",
								"&gt;": ">",
								"&quot;": '"'
							},
							o = t ? t.createElement("div") : goog.global.document.createElement(
								"div");
						return e.replace(goog.string.HTML_ENTITY_PATTERN_, function(e, t) {
							var s = r[e];
							return s || ("#" == t.charAt(0) && (t = Number("0" + t.substr(
									1)), isNaN(t) || (s = String.fromCharCode(t))), s ||
								(goog.dom.safe.setInnerHtml(o, goog.html
										.uncheckedconversions
										.safeHtmlFromStringKnownToSatisfyTypeContract(
											goog.string.Const.from(
												"Single HTML entity."), e + " ")), s = o
									.firstChild.nodeValue.slice(0, -1)), r[e] = s)
						})
					}, goog.string.unescapePureXmlEntities_ = function(e) {
						return e.replace(/&([^;]+);/g, function(e, t) {
							switch (t) {
								case "amp":
									return "&";
								case "lt":
									return "<";
								case "gt":
									return ">";
								case "quot":
									return '"';
								default:
									return "#" != t.charAt(0) || (t = Number("0" + t.substr(
										1)), isNaN(t)) ? e : String.fromCharCode(t)
							}
						})
					}, goog.string.HTML_ENTITY_PATTERN_ = /&([^;\s<&]+);?/g, goog.string
					.whitespaceEscape = function(e, t) {
						return goog.string.newLineToBr(e.replace(/  /g, " &#160;"), t)
					}, goog.string.preserveSpaces = function(e) {
						return e.replace(/(^|[\n ]) /g, "$1" + goog.string.Unicode.NBSP)
					}, goog.string.stripQuotes = function(e, t) {
						for (var r = t.length, o = 0; o < r; o++) {
							var s = 1 == r ? t : t.charAt(o);
							if (e.charAt(0) == s && e.charAt(e.length - 1) == s) return e.substring(
								1, e.length - 1)
						}
						return e
					}, goog.string.truncate = function(e, t, r) {
						return r && (e = goog.string.unescapeEntities(e)), e.length > t && (e = e
								.substring(0, t - 3) + "..."), r && (e = goog.string.htmlEscape(e)),
							e
					}, goog.string.truncateMiddle = function(e, t, r, o) {
						if (r && (e = goog.string.unescapeEntities(e)), o && e.length > t) {
							o > t && (o = t);
							var s = e.length - o;
							e = e.substring(0, t - o) + "..." + e.substring(s)
						} else e.length > t && (o = Math.floor(t / 2), s = e.length - o, e = e
							.substring(0, o + t % 2) + "..." + e.substring(s));
						return r && (e = goog.string.htmlEscape(e)), e
					}, goog.string.specialEscapeChars_ = {
						"\0": "\\0",
						"\b": "\\b",
						"\f": "\\f",
						"\n": "\\n",
						"\r": "\\r",
						"\t": "\\t",
						"\v": "\\x0B",
						'"': '\\"',
						"\\": "\\\\",
						"<": "\\u003C"
					}, goog.string.jsEscapeCache_ = {
						"'": "\\'"
					}, goog.string.quote = function(e) {
						e = String(e);
						for (var t = ['"'], r = 0; r < e.length; r++) {
							var o = e.charAt(r),
								s = o.charCodeAt(0);
							t[r + 1] = goog.string.specialEscapeChars_[o] || (31 < s && 127 > s ?
								o : goog.string.escapeChar(o))
						}
						return t.push('"'), t.join("")
					}, goog.string.escapeString = function(e) {
						for (var t = [], r = 0; r < e.length; r++) t[r] = goog.string.escapeChar(e
							.charAt(r));
						return t.join("")
					}, goog.string.escapeChar = function(e) {
						if (e in goog.string.jsEscapeCache_) return goog.string.jsEscapeCache_[e];
						if (e in goog.string.specialEscapeChars_) return goog.string.jsEscapeCache_[
							e] = goog.string.specialEscapeChars_[e];
						var t = e.charCodeAt(0);
						if (31 < t && 127 > t) var r = e;
						else 256 > t ? (r = "\\x", (16 > t || 256 < t) && (r += "0")) : (r = "\\u",
							4096 > t && (r += "0")), r += t.toString(16).toUpperCase();
						return goog.string.jsEscapeCache_[e] = r
					}, goog.string.contains = goog.string.internal.contains, goog.string
					.caseInsensitiveContains = goog.string.internal.caseInsensitiveContains, goog
					.string.countOf = function(e, t) {
						return e && t ? e.split(t).length - 1 : 0
					}, goog.string.removeAt = function(e, t, r) {
						var o = e;
						return 0 <= t && t < e.length && 0 < r && (o = e.substr(0, t) + e.substr(t +
							r, e.length - t - r)), o
					}, goog.string.remove = function(e, t) {
						return e.replace(t, "")
					}, goog.string.removeAll = function(e, t) {
						return t = new RegExp(goog.string.regExpEscape(t), "g"), e.replace(t, "")
					}, goog.string.replaceAll = function(e, t, r) {
						return t = new RegExp(goog.string.regExpEscape(t), "g"), e.replace(t, r
							.replace(/\$/g, "$$$$"))
					}, goog.string.regExpEscape = function(e) {
						return String(e).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(
							/\x08/g, "\\x08")
					}, goog.string.repeat = String.prototype.repeat ? function(e, t) {
						return e.repeat(t)
					} : function(e, t) {
						return Array(t + 1).join(e)
					}, goog.string.padNumber = function(e, t, r) {
						return -1 == (r = (e = void 0 !== r ? e.toFixed(r) : String(e)).indexOf(
								".")) && (r = e.length), goog.string.repeat("0", Math.max(0, t -
							r)) + e
					}, goog.string.makeSafe = function(e) {
						return null == e ? "" : String(e)
					}, goog.string.buildString = function(e) {
						return Array.prototype.join.call(arguments, "")
					}, goog.string.getRandomString = function() {
						return Math.floor(2147483648 * Math.random()).toString(36) + Math.abs(Math
							.floor(2147483648 * Math.random()) ^ goog.now()).toString(36)
					}, goog.string.compareVersions = goog.string.internal.compareVersions, goog
					.string.hashCode = function(e) {
						for (var t = 0, r = 0; r < e.length; ++r) t = 31 * t + e.charCodeAt(r) >>>
						0;
						return t
					}, goog.string.uniqueStringCounter_ = 2147483648 * Math.random() | 0, goog
					.string.createUniqueString = function() {
						return "goog_" + goog.string.uniqueStringCounter_++
					}, goog.string.toNumber = function(e) {
						var t = Number(e);
						return 0 == t && goog.string.isEmptyOrWhitespace(e) ? NaN : t
					}, goog.string.isLowerCamelCase = function(e) {
						return /^[a-z]+([A-Z][a-z]*)*$/.test(e)
					}, goog.string.isUpperCamelCase = function(e) {
						return /^([A-Z][a-z]*)+$/.test(e)
					}, goog.string.toCamelCase = function(e) {
						return String(e).replace(/\-([a-z])/g, function(e, t) {
							return t.toUpperCase()
						})
					}, goog.string.toSelectorCase = function(e) {
						return String(e).replace(/([A-Z])/g, "-$1").toLowerCase()
					}, goog.string.toTitleCase = function(e, t) {
						return t = "string" == typeof t ? goog.string.regExpEscape(t) : "\\s", e
							.replace(new RegExp("(^" + (t ? "|[" + t + "]+" : "") + ")([a-z])",
								"g"),
								function(e, t, r) {
									return t + r.toUpperCase()
								})
					}, goog.string.capitalize = function(e) {
						return String(e.charAt(0)).toUpperCase() + String(e.substr(1)).toLowerCase()
					}, goog.string.parseInt = function(e) {
						return isFinite(e) && (e = String(e)), "string" == typeof e ? /^\s*-?0x/i
							.test(e) ? parseInt(e, 16) : parseInt(e, 10) : NaN
					}, goog.string.splitLimit = function(e, t, r) {
						e = e.split(t);
						for (var o = []; 0 < r && e.length;) o.push(e.shift()), r--;
						return e.length && o.push(e.join(t)), o
					}, goog.string.lastComponent = function(e, t) {
						if (!t) return e;
						"string" == typeof t && (t = [t]);
						for (var r = -1, o = 0; o < t.length; o++)
							if ("" != t[o]) {
								var s = e.lastIndexOf(t[o]);
								s > r && (r = s)
							} return -1 == r ? e : e.slice(r + 1)
					}, goog.string.editDistance = function(e, t) {
						var r = [],
							o = [];
						if (e == t) return 0;
						if (!e.length || !t.length) return Math.max(e.length, t.length);
						for (var s = 0; s < t.length + 1; s++) r[s] = s;
						for (s = 0; s < e.length; s++) {
							o[0] = s + 1;
							for (var i = 0; i < t.length; i++) o[i + 1] = Math.min(o[i] + 1, r[i +
								1] + 1, r[i] + Number(e[s] != t[i]));
							for (i = 0; i < r.length; i++) r[i] = o[i]
						}
						return o[t.length]
					}, goog.labs.userAgent.engine = {}, goog.labs.userAgent.engine.isPresto =
					function() {
						return goog.labs.userAgent.util.matchUserAgent("Presto")
					}, goog.labs.userAgent.engine.isTrident = function() {
						return goog.labs.userAgent.util.matchUserAgent("Trident") || goog.labs
							.userAgent.util.matchUserAgent("MSIE")
					}, goog.labs.userAgent.engine.isEdge = function() {
						return goog.labs.userAgent.util.matchUserAgent("Edge")
					}, goog.labs.userAgent.engine.isWebKit = function() {
						return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit") && !goog
							.labs.userAgent.engine.isEdge()
					}, goog.labs.userAgent.engine.isGecko = function() {
						return goog.labs.userAgent.util.matchUserAgent("Gecko") && !goog.labs
							.userAgent.engine.isWebKit() && !goog.labs.userAgent.engine
						.isTrident() && !goog.labs.userAgent.engine.isEdge()
					}, goog.labs.userAgent.engine.getVersion = function() {
						var e = goog.labs.userAgent.util.getUserAgent();
						if (e) {
							e = goog.labs.userAgent.util.extractVersionTuples(e);
							var t, r = goog.labs.userAgent.engine.getEngineTuple_(e);
							if (r) return "Gecko" == r[0] ? goog.labs.userAgent.engine
								.getVersionForKey_(e, "Firefox") : r[1];
							if ((e = e[0]) && (t = e[2]) && (t = /Trident\/([^\s;]+)/.exec(t)))
								return t[1]
						}
						return ""
					}, goog.labs.userAgent.engine.getEngineTuple_ = function(e) {
						if (!goog.labs.userAgent.engine.isEdge()) return e[1];
						for (var t = 0; t < e.length; t++) {
							var r = e[t];
							if ("Edge" == r[0]) return r
						}
					}, goog.labs.userAgent.engine.isVersionOrHigher = function(e) {
						return 0 <= goog.string.compareVersions(goog.labs.userAgent.engine
							.getVersion(), e)
					}, goog.labs.userAgent.engine.getVersionForKey_ = function(e, t) {
						return (e = goog.array.find(e, function(e) {
							return t == e[0]
						})) && e[1] || ""
					}, goog.labs.userAgent.platform = {}, goog.labs.userAgent.platform.isAndroid =
					function() {
						return goog.labs.userAgent.util.matchUserAgent("Android")
					}, goog.labs.userAgent.platform.isIpod = function() {
						return goog.labs.userAgent.util.matchUserAgent("iPod")
					}, goog.labs.userAgent.platform.isIphone = function() {
						return goog.labs.userAgent.util.matchUserAgent("iPhone") && !goog.labs
							.userAgent.util.matchUserAgent("iPod") && !goog.labs.userAgent.util
							.matchUserAgent("iPad")
					}, goog.labs.userAgent.platform.isIpad = function() {
						return goog.labs.userAgent.util.matchUserAgent("iPad")
					}, goog.labs.userAgent.platform.isIos = function() {
						return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent
							.platform.isIpad() || goog.labs.userAgent.platform.isIpod()
					}, goog.labs.userAgent.platform.isMacintosh = function() {
						return goog.labs.userAgent.util.matchUserAgent("Macintosh")
					}, goog.labs.userAgent.platform.isLinux = function() {
						return goog.labs.userAgent.util.matchUserAgent("Linux")
					}, goog.labs.userAgent.platform.isWindows = function() {
						return goog.labs.userAgent.util.matchUserAgent("Windows")
					}, goog.labs.userAgent.platform.isChromeOS = function() {
						return goog.labs.userAgent.util.matchUserAgent("CrOS")
					}, goog.labs.userAgent.platform.isChromecast = function() {
						return goog.labs.userAgent.util.matchUserAgent("CrKey")
					}, goog.labs.userAgent.platform.isKaiOS = function() {
						return goog.labs.userAgent.util.matchUserAgentIgnoreCase("KaiOS")
					}, goog.labs.userAgent.platform.getVersion = function() {
						var e = goog.labs.userAgent.util.getUserAgent(),
							t = "";
						return goog.labs.userAgent.platform.isWindows() ? t = (e = (t =
								/Windows (?:NT|Phone) ([0-9.]+)/).exec(e)) ? e[1] : "0.0" : goog
							.labs.userAgent.platform.isIos() ? t = (e = (t =
								/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/).exec(e)) && e[1].replace(
								/_/g, ".") : goog.labs.userAgent.platform.isMacintosh() ? t = (e = (
								t = /Mac OS X ([0-9_.]+)/).exec(e)) ? e[1].replace(/_/g, ".") :
							"10" : goog.labs.userAgent.platform.isKaiOS() ? t = (e = (t =
								/(?:KaiOS)\/(\S+)/i).exec(e)) && e[1] : goog.labs.userAgent.platform
							.isAndroid() ? t = (e = (t = /Android\s+([^\);]+)(\)|;)/).exec(e)) && e[
								1] : goog.labs.userAgent.platform.isChromeOS() && (t = (e = (t =
								/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/).exec(e)) && e[1]), t || ""
					}, goog.labs.userAgent.platform.isVersionOrHigher = function(e) {
						return 0 <= goog.string.compareVersions(goog.labs.userAgent.platform
							.getVersion(), e)
					}, goog.reflect = {}, goog.reflect.object = function(e, t) {
						return t
					}, goog.reflect.objectProperty = function(e, t) {
						return e
					}, goog.reflect.sinkValue = function(e) {
						return goog.reflect.sinkValue[" "](e), e
					}, goog.reflect.sinkValue[" "] = goog.nullFunction, goog.reflect
					.canAccessProperty = function(e, t) {
						try {
							return goog.reflect.sinkValue(e[t]), !0
						} catch (e) {}
						return !1
					}, goog.reflect.cache = function(e, t, r, o) {
						return o = o ? o(t) : t, Object.prototype.hasOwnProperty.call(e, o) ? e[o] :
							e[o] = r(t)
					}, goog.userAgent = {}, goog.userAgent.ASSUME_IE = !1, goog.userAgent
					.ASSUME_EDGE = !1, goog.userAgent.ASSUME_GECKO = !1, goog.userAgent
					.ASSUME_WEBKIT = !1, goog.userAgent.ASSUME_MOBILE_WEBKIT = !1, goog.userAgent
					.ASSUME_OPERA = !1, goog.userAgent.ASSUME_ANY_VERSION = !1, goog.userAgent
					.BROWSER_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent.ASSUME_EDGE || goog
					.userAgent.ASSUME_GECKO || goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent
					.ASSUME_WEBKIT || goog.userAgent.ASSUME_OPERA, goog.userAgent
					.getUserAgentString = function() {
						return goog.labs.userAgent.util.getUserAgent()
					}, goog.userAgent.getNavigatorTyped = function() {
						return goog.global.navigator || null
					}, goog.userAgent.getNavigator = function() {
						return goog.userAgent.getNavigatorTyped()
					}, goog.userAgent.OPERA = goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent
					.ASSUME_OPERA : goog.labs.userAgent.browser.isOpera(), goog.userAgent.IE = goog
					.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_IE : goog.labs.userAgent
					.browser.isIE(), goog.userAgent.EDGE = goog.userAgent.BROWSER_KNOWN_ ? goog
					.userAgent.ASSUME_EDGE : goog.labs.userAgent.engine.isEdge(), goog.userAgent
					.EDGE_OR_IE = goog.userAgent.EDGE || goog.userAgent.IE, goog.userAgent.GECKO =
					goog.userAgent.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_GECKO : goog.labs
					.userAgent.engine.isGecko(), goog.userAgent.WEBKIT = goog.userAgent
					.BROWSER_KNOWN_ ? goog.userAgent.ASSUME_WEBKIT || goog.userAgent
					.ASSUME_MOBILE_WEBKIT : goog.labs.userAgent.engine.isWebKit(), goog.userAgent
					.isMobile_ = function() {
						return goog.userAgent.WEBKIT && goog.labs.userAgent.util.matchUserAgent(
							"Mobile")
					}, goog.userAgent.MOBILE = goog.userAgent.ASSUME_MOBILE_WEBKIT || goog.userAgent
					.isMobile_(), goog.userAgent.SAFARI = goog.userAgent.WEBKIT, goog.userAgent
					.determinePlatform_ = function() {
						var e = goog.userAgent.getNavigatorTyped();
						return e && e.platform || ""
					}, goog.userAgent.PLATFORM = goog.userAgent.determinePlatform_(), goog.userAgent
					.ASSUME_MAC = !1, goog.userAgent.ASSUME_WINDOWS = !1, goog.userAgent
					.ASSUME_LINUX = !1, goog.userAgent.ASSUME_X11 = !1, goog.userAgent
					.ASSUME_ANDROID = !1, goog.userAgent.ASSUME_IPHONE = !1, goog.userAgent
					.ASSUME_IPAD = !1, goog.userAgent.ASSUME_IPOD = !1, goog.userAgent
					.ASSUME_KAIOS = !1, goog.userAgent.PLATFORM_KNOWN_ = goog.userAgent
					.ASSUME_MAC || goog.userAgent.ASSUME_WINDOWS || goog.userAgent.ASSUME_LINUX ||
					goog.userAgent.ASSUME_X11 || goog.userAgent.ASSUME_ANDROID || goog.userAgent
					.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD, goog
					.userAgent.MAC = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_MAC :
					goog.labs.userAgent.platform.isMacintosh();
				goog.userAgent.WINDOWS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent
					.ASSUME_WINDOWS : goog.labs.userAgent.platform.isWindows(), goog.userAgent
					.isLegacyLinux_ = function() {
						return goog.labs.userAgent.platform.isLinux() || goog.labs.userAgent
							.platform.isChromeOS()
					}, goog.userAgent.LINUX = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent
					.ASSUME_LINUX : goog.userAgent.isLegacyLinux_(), goog.userAgent.isX11_ =
					function() {
						var e = goog.userAgent.getNavigatorTyped();
						return !!e && goog.string.contains(e.appVersion || "", "X11")
					}, goog.userAgent.X11 = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent
					.ASSUME_X11 : goog.userAgent.isX11_(), goog.userAgent.ANDROID = goog.userAgent
					.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_ANDROID : goog.labs.userAgent.platform
					.isAndroid(), goog.userAgent.IPHONE = goog.userAgent.PLATFORM_KNOWN_ ? goog
					.userAgent.ASSUME_IPHONE : goog.labs.userAgent.platform.isIphone(), goog
					.userAgent.IPAD = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPAD :
					goog.labs.userAgent.platform.isIpad(), goog.userAgent.IPOD = goog.userAgent
					.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_IPOD : goog.labs.userAgent.platform
					.isIpod(), goog.userAgent.IOS = goog.userAgent.PLATFORM_KNOWN_ ? goog.userAgent
					.ASSUME_IPHONE || goog.userAgent.ASSUME_IPAD || goog.userAgent.ASSUME_IPOD :
					goog.labs.userAgent.platform.isIos(), goog.userAgent.KAIOS = goog.userAgent
					.PLATFORM_KNOWN_ ? goog.userAgent.ASSUME_KAIOS : goog.labs.userAgent.platform
					.isKaiOS(), goog.userAgent.determineVersion_ = function() {
						var e = "",
							t = goog.userAgent.getVersionRegexResult_();
						return t && (e = t ? t[1] : ""), goog.userAgent.IE && (null != (t = goog
							.userAgent.getDocumentMode_()) && t > parseFloat(e)) ? String(t) : e
					}, goog.userAgent.getVersionRegexResult_ = function() {
						var e = goog.userAgent.getUserAgentString();
						return goog.userAgent.GECKO ? /rv:([^\);]+)(\)|;)/.exec(e) : goog.userAgent
							.EDGE ? /Edge\/([\d\.]+)/.exec(e) : goog.userAgent.IE ?
							/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(e) : goog.userAgent.WEBKIT ?
							/WebKit\/(\S+)/.exec(e) : goog.userAgent.OPERA ?
							/(?:Version)[ \/]?(\S+)/.exec(e) : void 0
					}, goog.userAgent.getDocumentMode_ = function() {
						var e = goog.global.document;
						return e ? e.documentMode : void 0
					}, goog.userAgent.VERSION = goog.userAgent.determineVersion_(), goog.userAgent
					.compare = function(e, t) {
						return goog.string.compareVersions(e, t)
					}, goog.userAgent.isVersionOrHigherCache_ = {}, goog.userAgent
					.isVersionOrHigher = function(e) {
						return goog.userAgent.ASSUME_ANY_VERSION || goog.reflect.cache(goog
							.userAgent.isVersionOrHigherCache_, e,
							function() {
								return 0 <= goog.string.compareVersions(goog.userAgent.VERSION,
									e)
							})
					}, goog.userAgent.isVersion = goog.userAgent.isVersionOrHigher, goog.userAgent
					.isDocumentModeOrHigher = function(e) {
						return Number(goog.userAgent.DOCUMENT_MODE) >= e
					}, goog.userAgent.isDocumentMode = goog.userAgent.isDocumentModeOrHigher, goog
					.userAgent.DOCUMENT_MODE = function() {
						if (goog.global.document && goog.userAgent.IE) {
							var e = goog.userAgent.getDocumentMode_();
							return e || (parseInt(goog.userAgent.VERSION, 10) || void 0)
						}
					}(), goog.userAgent.product = {}, goog.userAgent.product.ASSUME_FIREFOX = !1,
					goog.userAgent.product.ASSUME_IPHONE = !1, goog.userAgent.product
					.ASSUME_IPAD = !1, goog.userAgent.product.ASSUME_ANDROID = !1, goog.userAgent
					.product.ASSUME_CHROME = !1, goog.userAgent.product.ASSUME_SAFARI = !1, goog
					.userAgent.product.PRODUCT_KNOWN_ = goog.userAgent.ASSUME_IE || goog.userAgent
					.ASSUME_EDGE || goog.userAgent.ASSUME_OPERA || goog.userAgent.product
					.ASSUME_FIREFOX || goog.userAgent.product.ASSUME_IPHONE || goog.userAgent
					.product.ASSUME_IPAD || goog.userAgent.product.ASSUME_ANDROID || goog.userAgent
					.product.ASSUME_CHROME || goog.userAgent.product.ASSUME_SAFARI, goog.userAgent
					.product.OPERA = goog.userAgent.OPERA, goog.userAgent.product.IE = goog
					.userAgent.IE, goog.userAgent.product.EDGE = goog.userAgent.EDGE, goog.userAgent
					.product.FIREFOX = goog.userAgent.product.PRODUCT_KNOWN_ ? goog.userAgent
					.product.ASSUME_FIREFOX : goog.labs.userAgent.browser.isFirefox(), goog
					.userAgent.product.isIphoneOrIpod_ = function() {
						return goog.labs.userAgent.platform.isIphone() || goog.labs.userAgent
							.platform.isIpod()
					}, goog.userAgent.product.IPHONE = goog.userAgent.product.PRODUCT_KNOWN_ ? goog
					.userAgent.product.ASSUME_IPHONE : goog.userAgent.product.isIphoneOrIpod_(),
					goog.userAgent.product.IPAD = goog.userAgent.product.PRODUCT_KNOWN_ ? goog
					.userAgent.product.ASSUME_IPAD : goog.labs.userAgent.platform.isIpad(), goog
					.userAgent.product.ANDROID = goog.userAgent.product.PRODUCT_KNOWN_ ? goog
					.userAgent.product.ASSUME_ANDROID : goog.labs.userAgent.browser
					.isAndroidBrowser(), goog.userAgent.product.CHROME = goog.userAgent.product
					.PRODUCT_KNOWN_ ? goog.userAgent.product.ASSUME_CHROME : goog.labs.userAgent
					.browser.isChrome(), goog.userAgent.product.isSafariDesktop_ = function() {
						return goog.labs.userAgent.browser.isSafari() && !goog.labs.userAgent
							.platform.isIos()
					}, goog.userAgent.product.SAFARI = goog.userAgent.product.PRODUCT_KNOWN_ ? goog
					.userAgent.product.ASSUME_SAFARI : goog.userAgent.product.isSafariDesktop_(),
					goog.crypt.base64 = {}, goog.crypt.base64.DEFAULT_ALPHABET_COMMON_ =
					"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", goog.crypt
					.base64.ENCODED_VALS = goog.crypt.base64.DEFAULT_ALPHABET_COMMON_ + "+/=", goog
					.crypt.base64.ENCODED_VALS_WEBSAFE = goog.crypt.base64
					.DEFAULT_ALPHABET_COMMON_ + "-_.", goog.crypt.base64.Alphabet = {
						DEFAULT: 0,
						NO_PADDING: 1,
						WEBSAFE: 2,
						WEBSAFE_DOT_PADDING: 3,
						WEBSAFE_NO_PADDING: 4
					}, goog.crypt.base64.paddingChars_ = "=.", goog.crypt.base64.isPadding_ =
					function(e) {
						return goog.string.contains(goog.crypt.base64.paddingChars_, e)
					}, goog.crypt.base64.byteToCharMaps_ = {}, goog.crypt.base64.charToByteMap_ =
					null, goog.crypt.base64.ASSUME_NATIVE_SUPPORT_ = goog.userAgent.GECKO || goog
					.userAgent.WEBKIT && !goog.userAgent.product.SAFARI || goog.userAgent.OPERA,
					goog.crypt.base64.HAS_NATIVE_ENCODE_ = goog.crypt.base64
					.ASSUME_NATIVE_SUPPORT_ || "function" == typeof goog.global.btoa, goog.crypt
					.base64.HAS_NATIVE_DECODE_ = goog.crypt.base64.ASSUME_NATIVE_SUPPORT_ || !goog
					.userAgent.product.SAFARI && !goog.userAgent.IE && "function" == typeof goog
					.global.atob, goog.crypt.base64.encodeByteArray = function(e, t) {
						goog.asserts.assert(goog.isArrayLike(e),
								"encodeByteArray takes an array as a parameter"), void 0 === t && (
								t = goog.crypt.base64.Alphabet.DEFAULT), goog.crypt.base64.init_(),
							t = goog.crypt.base64.byteToCharMaps_[t];
						for (var r = [], o = 0; o < e.length; o += 3) {
							var s = e[o],
								i = o + 1 < e.length,
								n = i ? e[o + 1] : 0,
								a = o + 2 < e.length,
								g = a ? e[o + 2] : 0,
								p = s >> 2;
							s = (3 & s) << 4 | n >> 4, n = (15 & n) << 2 | g >> 6, g &= 63, a || (
								g = 64, i || (n = 64)), r.push(t[p], t[s], t[n] || "", t[g] ||
								"")
						}
						return r.join("")
					}, goog.crypt.base64.encodeString = function(e, t) {
						return goog.crypt.base64.HAS_NATIVE_ENCODE_ && !t ? goog.global.btoa(e) :
							goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(e), t)
					}, goog.crypt.base64.decodeString = function(e, t) {
						if (goog.crypt.base64.HAS_NATIVE_DECODE_ && !t) return goog.global.atob(e);
						var r = "";
						return goog.crypt.base64.decodeStringInternal_(e, function(e) {
							r += String.fromCharCode(e)
						}), r
					}, goog.crypt.base64.decodeStringToByteArray = function(e, t) {
						var r = [];
						return goog.crypt.base64.decodeStringInternal_(e, function(e) {
							r.push(e)
						}), r
					}, goog.crypt.base64.decodeStringToUint8Array = function(e) {
						goog.asserts.assert(!goog.userAgent.IE || goog.userAgent.isVersionOrHigher(
							"10"), "Browser does not support typed arrays");
						var t = e.length,
							r = 3 * t / 4;
						r % 3 ? r = Math.floor(r) : goog.crypt.base64.isPadding_(e[t - 1]) && (r =
							goog.crypt.base64.isPadding_(e[t - 2]) ? r - 2 : r - 1);
						var o = new Uint8Array(r),
							s = 0;
						return goog.crypt.base64.decodeStringInternal_(e, function(e) {
							o[s++] = e
						}), o.subarray(0, s)
					}, goog.crypt.base64.decodeStringInternal_ = function(e, t) {
						function r(t) {
							for (; o < e.length;) {
								var r = e.charAt(o++),
									s = goog.crypt.base64.charToByteMap_[r];
								if (null != s) return s;
								if (!goog.string.isEmptyOrWhitespace(r)) throw Error(
									"Unknown base64 encoding at char: " + r)
							}
							return t
						}
						goog.crypt.base64.init_();
						for (var o = 0;;) {
							var s = r(-1),
								i = r(0),
								n = r(64),
								a = r(64);
							if (64 === a && -1 === s) break;
							t(s << 2 | i >> 4), 64 != n && (t(i << 4 & 240 | n >> 2), 64 != a && t(
								n << 6 & 192 | a))
						}
					}, goog.crypt.base64.init_ = function() {
						if (!goog.crypt.base64.charToByteMap_) {
							goog.crypt.base64.charToByteMap_ = {};
							for (var e = goog.crypt.base64.DEFAULT_ALPHABET_COMMON_.split(""), t = [
									"+/=", "+/", "-_=", "-_.", "-_"
								], r = 0; 5 > r; r++) {
								var o = e.concat(t[r].split(""));
								goog.crypt.base64.byteToCharMaps_[r] = o;
								for (var s = 0; s < o.length; s++) {
									var i = o[s],
										n = goog.crypt.base64.charToByteMap_[i];
									void 0 === n ? goog.crypt.base64.charToByteMap_[i] = s : goog
										.asserts.assert(n === s)
								}
							}
						}
					}, jspb.utils = {}, jspb.utils.split64Low = 0, jspb.utils.split64High = 0, jspb
					.utils.splitUint64 = function(e) {
						var t = e >>> 0;
						e = Math.floor((e - t) / jspb.BinaryConstants.TWO_TO_32) >>> 0, jspb.utils
							.split64Low = t, jspb.utils.split64High = e
					}, jspb.utils.splitInt64 = function(e) {
						var t = 0 > e,
							r = (e = Math.abs(e)) >>> 0;
						e = Math.floor((e - r) / jspb.BinaryConstants.TWO_TO_32), e >>>= 0, t && (
								e = ~e >>> 0, 4294967295 < (r = 1 + (~r >>> 0)) && (r = 0,
									4294967295 < ++e && (e = 0))), jspb.utils.split64Low = r, jspb
							.utils.split64High = e
					}, jspb.utils.splitZigzag64 = function(e) {
						var t = 0 > e;
						e = 2 * Math.abs(e), jspb.utils.splitUint64(e), e = jspb.utils.split64Low;
						var r = jspb.utils.split64High;
						t && (0 == e ? 0 == r ? r = e = 4294967295 : (r--, e = 4294967295) : e--),
							jspb.utils.split64Low = e, jspb.utils.split64High = r
					}, jspb.utils.splitFloat32 = function(e) {
						var t = 0 > e ? 1 : 0;
						if (0 === (e = t ? -e : e)) 0 < 1 / e ? (jspb.utils.split64High = 0, jspb
							.utils.split64Low = 0) : (jspb.utils.split64High = 0, jspb.utils
							.split64Low = 2147483648);
						else if (isNaN(e)) jspb.utils.split64High = 0, jspb.utils.split64Low =
							2147483647;
						else if (e > jspb.BinaryConstants.FLOAT32_MAX) jspb.utils.split64High = 0,
							jspb.utils.split64Low = (t << 31 | 2139095040) >>> 0;
						else if (e < jspb.BinaryConstants.FLOAT32_MIN) e = Math.round(e / Math.pow(
							2, -149)), jspb.utils.split64High = 0, jspb.utils.split64Low = (t <<
							31 | e) >>> 0;
						else {
							var r = Math.floor(Math.log(e) / Math.LN2);
							e *= Math.pow(2, -r), 16777216 <= (e = Math.round(e * jspb
									.BinaryConstants.TWO_TO_23)) && ++r, jspb.utils.split64High = 0,
								jspb.utils.split64Low = (t << 31 | r + 127 << 23 | 8388607 & e) >>>
								0
						}
					}, jspb.utils.splitFloat64 = function(e) {
						var t = 0 > e ? 1 : 0;
						if (0 === (e = t ? -e : e)) jspb.utils.split64High = 0 < 1 / e ? 0 :
							2147483648, jspb.utils.split64Low = 0;
						else if (isNaN(e)) jspb.utils.split64High = 2147483647, jspb.utils
							.split64Low = 4294967295;
						else if (e > jspb.BinaryConstants.FLOAT64_MAX) jspb.utils.split64High = (
							t << 31 | 2146435072) >>> 0, jspb.utils.split64Low = 0;
						else if (e < jspb.BinaryConstants.FLOAT64_MIN) {
							var r = e / Math.pow(2, -1074);
							e = r / jspb.BinaryConstants.TWO_TO_32, jspb.utils.split64High = (t <<
								31 | e) >>> 0, jspb.utils.split64Low = r >>> 0
						} else {
							var o = 0;
							if (2 <= (r = e))
								for (; 2 <= r && 1023 > o;) o++, r /= 2;
							else
								for (; 1 > r && -1022 < o;) r *= 2, o--;
							e = (r = e * Math.pow(2, -o)) * jspb.BinaryConstants.TWO_TO_20 &
								1048575, r = r * jspb.BinaryConstants.TWO_TO_52 >>> 0, jspb.utils
								.split64High = (t << 31 | o + 1023 << 20 | e) >>> 0, jspb.utils
								.split64Low = r
						}
					}, jspb.utils.splitHash64 = function(e) {
						var t = e.charCodeAt(0),
							r = e.charCodeAt(1),
							o = e.charCodeAt(2),
							s = e.charCodeAt(3),
							i = e.charCodeAt(4),
							n = e.charCodeAt(5),
							a = e.charCodeAt(6);
						e = e.charCodeAt(7), jspb.utils.split64Low = t + (r << 8) + (o << 16) + (
								s << 24) >>> 0, jspb.utils.split64High = i + (n << 8) + (a << 16) +
							(e << 24) >>> 0
					}, jspb.utils.joinUint64 = function(e, t) {
						return t * jspb.BinaryConstants.TWO_TO_32 + (e >>> 0)
					}, jspb.utils.joinInt64 = function(e, t) {
						var r = 2147483648 & t;
						return r && (t = ~t >>> 0, 0 == (e = 1 + ~e >>> 0) && (t = t + 1 >>> 0)),
							e = jspb.utils.joinUint64(e, t), r ? -e : e
					}, jspb.utils.toZigzag64 = function(e, t, r) {
						var o = t >> 31;
						return r(e << 1 ^ o, (t << 1 | e >>> 31) ^ o)
					}, jspb.utils.joinZigzag64 = function(e, t) {
						return jspb.utils.fromZigzag64(e, t, jspb.utils.joinInt64)
					}, jspb.utils.fromZigzag64 = function(e, t, r) {
						var o = -(1 & e);
						return r((e >>> 1 | t << 31) ^ o, t >>> 1 ^ o)
					}, jspb.utils.joinFloat32 = function(e, t) {
						t = 2 * (e >> 31) + 1;
						var r = e >>> 23 & 255;
						return e &= 8388607, 255 == r ? e ? NaN : 1 / 0 * t : 0 == r ? t * Math.pow(
							2, -149) * e : t * Math.pow(2, r - 150) * (e + Math.pow(2, 23))
					}, jspb.utils.joinFloat64 = function(e, t) {
						var r = 2 * (t >> 31) + 1,
							o = t >>> 20 & 2047;
						return e = jspb.BinaryConstants.TWO_TO_32 * (1048575 & t) + e, 2047 == o ?
							e ? NaN : 1 / 0 * r : 0 == o ? r * Math.pow(2, -1074) * e : r * Math
							.pow(2, o - 1075) * (e + jspb.BinaryConstants.TWO_TO_52)
					}, jspb.utils.joinHash64 = function(e, t) {
						return String.fromCharCode(e >>> 0 & 255, e >>> 8 & 255, e >>> 16 & 255,
							e >>> 24 & 255, t >>> 0 & 255, t >>> 8 & 255, t >>> 16 & 255, t >>>
							24 & 255)
					}, jspb.utils.DIGITS = "0123456789abcdef".split(""), jspb.utils
					.ZERO_CHAR_CODE_ = 48, jspb.utils.A_CHAR_CODE_ = 97, jspb.utils
					.joinUnsignedDecimalString = function(e, t) {
						function r(e, t) {
							return e = e ? String(e) : "", t ? "0000000".slice(e.length) + e : e
						}
						if (2097151 >= t) return "" + jspb.utils.joinUint64(e, t);
						var o = (e >>> 24 | t << 8) >>> 0 & 16777215;
						return e = (16777215 & e) + 6777216 * o + 6710656 * (t = t >> 16 & 65535),
							o += 8147497 * t, t *= 2, 1e7 <= e && (o += Math.floor(e / 1e7), e %=
								1e7), 1e7 <= o && (t += Math.floor(o / 1e7), o %= 1e7), r(t, 0) + r(
								o, t) + r(e, 1)
					}, jspb.utils.joinSignedDecimalString = function(e, t) {
						var r = 2147483648 & t;
						return r && (t = ~t + (0 == (e = 1 + ~e >>> 0) ? 1 : 0) >>> 0), e = jspb
							.utils.joinUnsignedDecimalString(e, t), r ? "-" + e : e
					}, jspb.utils.hash64ToDecimalString = function(e, t) {
						jspb.utils.splitHash64(e), e = jspb.utils.split64Low;
						var r = jspb.utils.split64High;
						return t ? jspb.utils.joinSignedDecimalString(e, r) : jspb.utils
							.joinUnsignedDecimalString(e, r)
					}, jspb.utils.hash64ArrayToDecimalStrings = function(e, t) {
						for (var r = Array(e.length), o = 0; o < e.length; o++) r[o] = jspb.utils
							.hash64ToDecimalString(e[o], t);
						return r
					}, jspb.utils.decimalStringToHash64 = function(e) {
						function t(e, t) {
							for (var r = 0; 8 > r && (1 !== e || 0 < t); r++) t = e * o[r] + t, o[
								r] = 255 & t, t >>>= 8
						}
						jspb.asserts.assert(0 < e.length);
						var r = !1;
						"-" === e[0] && (r = !0, e = e.slice(1));
						for (var o = [0, 0, 0, 0, 0, 0, 0, 0], s = 0; s < e.length; s++) t(10, e
							.charCodeAt(s) - jspb.utils.ZERO_CHAR_CODE_);
						return r && (function() {
							for (var e = 0; 8 > e; e++) o[e] = 255 & ~o[e]
						}(), t(1, 1)), goog.crypt.byteArrayToString(o)
					}, jspb.utils.splitDecimalString = function(e) {
						jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(e))
					}, jspb.utils.toHexDigit_ = function(e) {
						return String.fromCharCode(10 > e ? jspb.utils.ZERO_CHAR_CODE_ + e : jspb
							.utils.A_CHAR_CODE_ - 10 + e)
					}, jspb.utils.fromHexCharCode_ = function(e) {
						return e >= jspb.utils.A_CHAR_CODE_ ? e - jspb.utils.A_CHAR_CODE_ + 10 : e -
							jspb.utils.ZERO_CHAR_CODE_
					}, jspb.utils.hash64ToHexString = function(e) {
						var t = Array(18);
						t[0] = "0", t[1] = "x";
						for (var r = 0; 8 > r; r++) {
							var o = e.charCodeAt(7 - r);
							t[2 * r + 2] = jspb.utils.toHexDigit_(o >> 4), t[2 * r + 3] = jspb.utils
								.toHexDigit_(15 & o)
						}
						return t.join("")
					}, jspb.utils.hexStringToHash64 = function(e) {
						e = e.toLowerCase(), jspb.asserts.assert(18 == e.length), jspb.asserts
							.assert("0" == e[0]), jspb.asserts.assert("x" == e[1]);
						for (var t = "", r = 0; 8 > r; r++) {
							var o = jspb.utils.fromHexCharCode_(e.charCodeAt(2 * r + 2)),
								s = jspb.utils.fromHexCharCode_(e.charCodeAt(2 * r + 3));
							t = String.fromCharCode(16 * o + s) + t
						}
						return t
					}, jspb.utils.hash64ToNumber = function(e, t) {
						jspb.utils.splitHash64(e), e = jspb.utils.split64Low;
						var r = jspb.utils.split64High;
						return t ? jspb.utils.joinInt64(e, r) : jspb.utils.joinUint64(e, r)
					}, jspb.utils.numberToHash64 = function(e) {
						return jspb.utils.splitInt64(e), jspb.utils.joinHash64(jspb.utils
							.split64Low, jspb.utils.split64High)
					}, jspb.utils.countVarints = function(e, t, r) {
						for (var o = 0, s = t; s < r; s++) o += e[s] >> 7;
						return r - t - o
					}, jspb.utils.countVarintFields = function(e, t, r, o) {
						var s = 0;
						if (128 > (o = 8 * o + jspb.BinaryConstants.WireType.VARINT))
							for (; t < r && e[t++] == o;)
								for (s++;;) {
									var i = e[t++];
									if (0 == (128 & i)) break
								} else
									for (; t < r;) {
										for (i = o; 128 < i;) {
											if (e[t] != (127 & i | 128)) return s;
											t++, i >>= 7
										}
										if (e[t++] != i) break;
										for (s++; 0 != (128 & (i = e[t++])););
									}
						return s
					}, jspb.utils.countFixedFields_ = function(e, t, r, o, s) {
						var i = 0;
						if (128 > o)
							for (; t < r && e[t++] == o;) i++, t += s;
						else
							for (; t < r;) {
								for (var n = o; 128 < n;) {
									if (e[t++] != (127 & n | 128)) return i;
									n >>= 7
								}
								if (e[t++] != n) break;
								i++, t += s
							}
						return i
					}, jspb.utils.countFixed32Fields = function(e, t, r, o) {
						return jspb.utils.countFixedFields_(e, t, r, 8 * o + jspb.BinaryConstants
							.WireType.FIXED32, 4)
					}, jspb.utils.countFixed64Fields = function(e, t, r, o) {
						return jspb.utils.countFixedFields_(e, t, r, 8 * o + jspb.BinaryConstants
							.WireType.FIXED64, 8)
					}, jspb.utils.countDelimitedFields = function(e, t, r, o) {
						var s = 0;
						for (o = 8 * o + jspb.BinaryConstants.WireType.DELIMITED; t < r;) {
							for (var i = o; 128 < i;) {
								if (e[t++] != (127 & i | 128)) return s;
								i >>= 7
							}
							if (e[t++] != i) break;
							s++;
							for (var n = 0, a = 1; n += (127 & (i = e[t++])) * a, a *= 128, 0 != (
									128 & i););
							t += n
						}
						return s
					}, jspb.utils.debugBytesToTextFormat = function(e) {
						var t = '"';
						if (e) {
							e = jspb.utils.byteSourceToUint8Array(e);
							for (var r = 0; r < e.length; r++) t += "\\x", 16 > e[r] && (t += "0"),
								t += e[r].toString(16)
						}
						return t + '"'
					}, jspb.utils.debugScalarToTextFormat = function(e) {
						return "string" == typeof e ? goog.string.quote(e) : e.toString()
					}, jspb.utils.stringToByteArray = function(e) {
						for (var t = new Uint8Array(e.length), r = 0; r < e.length; r++) {
							var o = e.charCodeAt(r);
							if (255 < o) throw Error(
								"Conversion error: string contains codepoint outside of byte range"
								);
							t[r] = o
						}
						return t
					}, jspb.utils.byteSourceToUint8Array = function(e) {
						return e.constructor === Uint8Array ? e : e.constructor === ArrayBuffer || e
							.constructor === Array ? new Uint8Array(e) : e.constructor === String ?
							goog.crypt.base64.decodeStringToUint8Array(e) :
							e instanceof Uint8Array ? new Uint8Array(e.buffer, e.byteOffset, e
								.byteLength) : (jspb.asserts.fail(
								"Type not convertible to Uint8Array."), new Uint8Array(0))
					}, jspb.BinaryDecoder = function(e, t, r) {
						this.bytes_ = null, this.cursor_ = this.end_ = this.start_ = 0, this
							.error_ = !1, e && this.setBlock(e, t, r)
					}, jspb.BinaryDecoder.instanceCache_ = [], jspb.BinaryDecoder.alloc = function(
						e, t, r) {
						if (jspb.BinaryDecoder.instanceCache_.length) {
							var o = jspb.BinaryDecoder.instanceCache_.pop();
							return e && o.setBlock(e, t, r), o
						}
						return new jspb.BinaryDecoder(e, t, r)
					}, jspb.BinaryDecoder.prototype.free = function() {
						this.clear(), 100 > jspb.BinaryDecoder.instanceCache_.length && jspb
							.BinaryDecoder.instanceCache_.push(this)
					}, jspb.BinaryDecoder.prototype.clone = function() {
						return jspb.BinaryDecoder.alloc(this.bytes_, this.start_, this.end_ - this
							.start_)
					}, jspb.BinaryDecoder.prototype.clear = function() {
						this.bytes_ = null, this.cursor_ = this.end_ = this.start_ = 0, this
							.error_ = !1
					}, jspb.BinaryDecoder.prototype.getBuffer = function() {
						return this.bytes_
					}, jspb.BinaryDecoder.prototype.setBlock = function(e, t, r) {
						this.bytes_ = jspb.utils.byteSourceToUint8Array(e), this.start_ = void 0 !==
							t ? t : 0, this.end_ = void 0 !== r ? this.start_ + r : this.bytes_
							.length, this.cursor_ = this.start_
					}, jspb.BinaryDecoder.prototype.getEnd = function() {
						return this.end_
					}, jspb.BinaryDecoder.prototype.setEnd = function(e) {
						this.end_ = e
					}, jspb.BinaryDecoder.prototype.reset = function() {
						this.cursor_ = this.start_
					}, jspb.BinaryDecoder.prototype.getCursor = function() {
						return this.cursor_
					}, jspb.BinaryDecoder.prototype.setCursor = function(e) {
						this.cursor_ = e
					}, jspb.BinaryDecoder.prototype.advance = function(e) {
						this.cursor_ += e, jspb.asserts.assert(this.cursor_ <= this.end_)
					}, jspb.BinaryDecoder.prototype.atEnd = function() {
						return this.cursor_ == this.end_
					}, jspb.BinaryDecoder.prototype.pastEnd = function() {
						return this.cursor_ > this.end_
					}, jspb.BinaryDecoder.prototype.getError = function() {
						return this.error_ || 0 > this.cursor_ || this.cursor_ > this.end_
					}, jspb.BinaryDecoder.prototype.readSplitVarint64 = function(e) {
						for (var t = 128, r = 0, o = 0, s = 0; 4 > s && 128 <= t; s++) r |= (127 & (
							t = this.bytes_[this.cursor_++])) << 7 * s;
						if (128 <= t && (r |= (127 & (t = this.bytes_[this.cursor_++])) << 28, o |=
								(127 & t) >> 4), 128 <= t)
							for (s = 0; 5 > s && 128 <= t; s++) o |= (127 & (t = this.bytes_[this
								.cursor_++])) << 7 * s + 3;
						if (128 > t) return e(r >>> 0, o >>> 0);
						jspb.asserts.fail("Failed to read varint, encoding is invalid."), this
							.error_ = !0
					}, jspb.BinaryDecoder.prototype.readSplitZigzagVarint64 = function(e) {
						return this.readSplitVarint64(function(t, r) {
							return jspb.utils.fromZigzag64(t, r, e)
						})
					}, jspb.BinaryDecoder.prototype.readSplitFixed64 = function(e) {
						var t = this.bytes_,
							r = this.cursor_;
						this.cursor_ += 8;
						for (var o = 0, s = 0, i = r + 7; i >= r; i--) o = o << 8 | t[i], s = s <<
							8 | t[i + 4];
						return e(o, s)
					}, jspb.BinaryDecoder.prototype.skipVarint = function() {
						for (; 128 & this.bytes_[this.cursor_];) this.cursor_++;
						this.cursor_++
					}, jspb.BinaryDecoder.prototype.unskipVarint = function(e) {
						for (; 128 < e;) this.cursor_--, e >>>= 7;
						this.cursor_--
					}, jspb.BinaryDecoder.prototype.readUnsignedVarint32 = function() {
						var e = this.bytes_,
							t = e[this.cursor_ + 0],
							r = 127 & t;
						return 128 > t ? (this.cursor_ += 1, jspb.asserts.assert(this.cursor_ <=
							this.end_), r) : (r |= (127 & (t = e[this.cursor_ + 1])) << 7, 128 >
							t ? (this.cursor_ += 2, jspb.asserts.assert(this.cursor_ <= this
								.end_), r) : (r |= (127 & (t = e[this.cursor_ + 2])) << 14,
								128 > t ? (this.cursor_ += 3, jspb.asserts.assert(this
									.cursor_ <= this.end_), r) : (r |= (127 & (t = e[this
									.cursor_ + 3])) << 21, 128 > t ? (this.cursor_ += 4,
									jspb.asserts.assert(this.cursor_ <= this.end_), r) : (
									r |= (15 & (t = e[this.cursor_ + 4])) << 28, 128 > t ? (
										this.cursor_ += 5, jspb.asserts.assert(this
											.cursor_ <= this.end_), r >>> 0) : (this
										.cursor_ += 5, 128 <= e[this.cursor_++] && 128 <= e[
											this.cursor_++] && 128 <= e[this.cursor_++] &&
										128 <= e[this.cursor_++] && 128 <= e[this
										.cursor_++] && jspb.asserts.assert(!1), jspb.asserts
										.assert(this.cursor_ <= this.end_), r)))))
					}, jspb.BinaryDecoder.prototype.readSignedVarint32 = function() {
						return ~~this.readUnsignedVarint32()
					}, jspb.BinaryDecoder.prototype.readUnsignedVarint32String = function() {
						return this.readUnsignedVarint32().toString()
					}, jspb.BinaryDecoder.prototype.readSignedVarint32String = function() {
						return this.readSignedVarint32().toString()
					}, jspb.BinaryDecoder.prototype.readZigzagVarint32 = function() {
						var e = this.readUnsignedVarint32();
						return e >>> 1 ^ -(1 & e)
					}, jspb.BinaryDecoder.prototype.readUnsignedVarint64 = function() {
						return this.readSplitVarint64(jspb.utils.joinUint64)
					}, jspb.BinaryDecoder.prototype.readUnsignedVarint64String = function() {
						return this.readSplitVarint64(jspb.utils.joinUnsignedDecimalString)
					}, jspb.BinaryDecoder.prototype.readSignedVarint64 = function() {
						return this.readSplitVarint64(jspb.utils.joinInt64)
					}, jspb.BinaryDecoder.prototype.readSignedVarint64String = function() {
						return this.readSplitVarint64(jspb.utils.joinSignedDecimalString)
					}, jspb.BinaryDecoder.prototype.readZigzagVarint64 = function() {
						return this.readSplitVarint64(jspb.utils.joinZigzag64)
					}, jspb.BinaryDecoder.prototype.readZigzagVarintHash64 = function() {
						return this.readSplitZigzagVarint64(jspb.utils.joinHash64)
					}, jspb.BinaryDecoder.prototype.readZigzagVarint64String = function() {
						return this.readSplitZigzagVarint64(jspb.utils.joinSignedDecimalString)
					}, jspb.BinaryDecoder.prototype.readUint8 = function() {
						var e = this.bytes_[this.cursor_ + 0];
						return this.cursor_ += 1, jspb.asserts.assert(this.cursor_ <= this.end_), e
					}, jspb.BinaryDecoder.prototype.readUint16 = function() {
						var e = this.bytes_[this.cursor_ + 0],
							t = this.bytes_[this.cursor_ + 1];
						return this.cursor_ += 2, jspb.asserts.assert(this.cursor_ <= this.end_),
							e << 0 | t << 8
					}, jspb.BinaryDecoder.prototype.readUint32 = function() {
						var e = this.bytes_[this.cursor_ + 0],
							t = this.bytes_[this.cursor_ + 1],
							r = this.bytes_[this.cursor_ + 2],
							o = this.bytes_[this.cursor_ + 3];
						return this.cursor_ += 4, jspb.asserts.assert(this.cursor_ <= this.end_), (
							e << 0 | t << 8 | r << 16 | o << 24) >>> 0
					}, jspb.BinaryDecoder.prototype.readUint64 = function() {
						var e = this.readUint32(),
							t = this.readUint32();
						return jspb.utils.joinUint64(e, t)
					}, jspb.BinaryDecoder.prototype.readUint64String = function() {
						var e = this.readUint32(),
							t = this.readUint32();
						return jspb.utils.joinUnsignedDecimalString(e, t)
					}, jspb.BinaryDecoder.prototype.readInt8 = function() {
						var e = this.bytes_[this.cursor_ + 0];
						return this.cursor_ += 1, jspb.asserts.assert(this.cursor_ <= this.end_),
							e << 24 >> 24
					}, jspb.BinaryDecoder.prototype.readInt16 = function() {
						var e = this.bytes_[this.cursor_ + 0],
							t = this.bytes_[this.cursor_ + 1];
						return this.cursor_ += 2, jspb.asserts.assert(this.cursor_ <= this.end_), (
							e << 0 | t << 8) << 16 >> 16
					}, jspb.BinaryDecoder.prototype.readInt32 = function() {
						var e = this.bytes_[this.cursor_ + 0],
							t = this.bytes_[this.cursor_ + 1],
							r = this.bytes_[this.cursor_ + 2],
							o = this.bytes_[this.cursor_ + 3];
						return this.cursor_ += 4, jspb.asserts.assert(this.cursor_ <= this.end_),
							e << 0 | t << 8 | r << 16 | o << 24
					}, jspb.BinaryDecoder.prototype.readInt64 = function() {
						var e = this.readUint32(),
							t = this.readUint32();
						return jspb.utils.joinInt64(e, t)
					}, jspb.BinaryDecoder.prototype.readInt64String = function() {
						var e = this.readUint32(),
							t = this.readUint32();
						return jspb.utils.joinSignedDecimalString(e, t)
					}, jspb.BinaryDecoder.prototype.readFloat = function() {
						var e = this.readUint32();
						return jspb.utils.joinFloat32(e, 0)
					}, jspb.BinaryDecoder.prototype.readDouble = function() {
						var e = this.readUint32(),
							t = this.readUint32();
						return jspb.utils.joinFloat64(e, t)
					}, jspb.BinaryDecoder.prototype.readBool = function() {
						return !!this.bytes_[this.cursor_++]
					}, jspb.BinaryDecoder.prototype.readEnum = function() {
						return this.readSignedVarint32()
					}, jspb.BinaryDecoder.prototype.readString = function(e) {
						var t = this.bytes_,
							r = this.cursor_;
						e = r + e;
						for (var o = [], s = ""; r < e;) {
							var i = t[r++];
							if (128 > i) o.push(i);
							else {
								if (192 > i) continue;
								if (224 > i) {
									var n = t[r++];
									o.push((31 & i) << 6 | 63 & n)
								} else if (240 > i) {
									n = t[r++];
									var a = t[r++];
									o.push((15 & i) << 12 | (63 & n) << 6 | 63 & a)
								} else if (248 > i) {
									i = (7 & i) << 18 | (63 & (n = t[r++])) << 12 | (63 & (a = t[
										r++])) << 6 | 63 & t[r++], i -= 65536, o.push(55296 + (
										i >> 10 & 1023), 56320 + (1023 & i))
								}
							}
							8192 <= o.length && (s += String.fromCharCode.apply(null, o), o.length =
								0)
						}
						return s += goog.crypt.byteArrayToString(o), this.cursor_ = r, s
					}, jspb.BinaryDecoder.prototype.readStringWithLength = function() {
						var e = this.readUnsignedVarint32();
						return this.readString(e)
					}, jspb.BinaryDecoder.prototype.readBytes = function(e) {
						if (0 > e || this.cursor_ + e > this.bytes_.length) return this.error_ = !0,
							jspb.asserts.fail("Invalid byte length!"), new Uint8Array(0);
						var t = this.bytes_.subarray(this.cursor_, this.cursor_ + e);
						return this.cursor_ += e, jspb.asserts.assert(this.cursor_ <= this.end_), t
					}, jspb.BinaryDecoder.prototype.readVarintHash64 = function() {
						return this.readSplitVarint64(jspb.utils.joinHash64)
					}, jspb.BinaryDecoder.prototype.readFixedHash64 = function() {
						var e = this.bytes_,
							t = this.cursor_,
							r = e[t + 0],
							o = e[t + 1],
							s = e[t + 2],
							i = e[t + 3],
							n = e[t + 4],
							a = e[t + 5],
							g = e[t + 6];
						return e = e[t + 7], this.cursor_ += 8, String.fromCharCode(r, o, s, i, n,
							a, g, e)
					}, jspb.BinaryReader = function(e, t, r) {
						this.decoder_ = jspb.BinaryDecoder.alloc(e, t, r), this.fieldCursor_ = this
							.decoder_.getCursor(), this.nextField_ = jspb.BinaryConstants
							.INVALID_FIELD_NUMBER, this.nextWireType_ = jspb.BinaryConstants
							.WireType.INVALID, this.error_ = !1, this.readCallbacks_ = null
					}, jspb.BinaryReader.instanceCache_ = [], jspb.BinaryReader.alloc = function(e,
						t, r) {
						if (jspb.BinaryReader.instanceCache_.length) {
							var o = jspb.BinaryReader.instanceCache_.pop();
							return e && o.decoder_.setBlock(e, t, r), o
						}
						return new jspb.BinaryReader(e, t, r)
					}, jspb.BinaryReader.prototype.alloc = jspb.BinaryReader.alloc, jspb
					.BinaryReader.prototype.free = function() {
						this.decoder_.clear(), this.nextField_ = jspb.BinaryConstants
							.INVALID_FIELD_NUMBER, this.nextWireType_ = jspb.BinaryConstants
							.WireType.INVALID, this.error_ = !1, this.readCallbacks_ = null, 100 >
							jspb.BinaryReader.instanceCache_.length && jspb.BinaryReader
							.instanceCache_.push(this)
					}, jspb.BinaryReader.prototype.getFieldCursor = function() {
						return this.fieldCursor_
					}, jspb.BinaryReader.prototype.getCursor = function() {
						return this.decoder_.getCursor()
					}, jspb.BinaryReader.prototype.getBuffer = function() {
						return this.decoder_.getBuffer()
					}, jspb.BinaryReader.prototype.getFieldNumber = function() {
						return this.nextField_
					}, goog.exportProperty(jspb.BinaryReader.prototype, "getFieldNumber", jspb
						.BinaryReader.prototype.getFieldNumber), jspb.BinaryReader.prototype
					.getWireType = function() {
						return this.nextWireType_
					}, jspb.BinaryReader.prototype.isDelimited = function() {
						return this.nextWireType_ == jspb.BinaryConstants.WireType.DELIMITED
					}, goog.exportProperty(jspb.BinaryReader.prototype, "isDelimited", jspb
						.BinaryReader.prototype.isDelimited), jspb.BinaryReader.prototype
					.isEndGroup = function() {
						return this.nextWireType_ == jspb.BinaryConstants.WireType.END_GROUP
					}, goog.exportProperty(jspb.BinaryReader.prototype, "isEndGroup", jspb
						.BinaryReader.prototype.isEndGroup), jspb.BinaryReader.prototype.getError =
					function() {
						return this.error_ || this.decoder_.getError()
					}, jspb.BinaryReader.prototype.setBlock = function(e, t, r) {
						this.decoder_.setBlock(e, t, r), this.nextField_ = jspb.BinaryConstants
							.INVALID_FIELD_NUMBER, this.nextWireType_ = jspb.BinaryConstants
							.WireType.INVALID
					}, jspb.BinaryReader.prototype.reset = function() {
						this.decoder_.reset(), this.nextField_ = jspb.BinaryConstants
							.INVALID_FIELD_NUMBER, this.nextWireType_ = jspb.BinaryConstants
							.WireType.INVALID
					}, jspb.BinaryReader.prototype.advance = function(e) {
						this.decoder_.advance(e)
					}, jspb.BinaryReader.prototype.nextField = function() {
						if (this.decoder_.atEnd()) return !1;
						if (this.getError()) return jspb.asserts.fail("Decoder hit an error"), !1;
						this.fieldCursor_ = this.decoder_.getCursor();
						var e = this.decoder_.readUnsignedVarint32(),
							t = e >>> 3;
						return (e &= 7) != jspb.BinaryConstants.WireType.VARINT && e != jspb
							.BinaryConstants.WireType.FIXED32 && e != jspb.BinaryConstants.WireType
							.FIXED64 && e != jspb.BinaryConstants.WireType.DELIMITED && e != jspb
							.BinaryConstants.WireType.START_GROUP && e != jspb.BinaryConstants
							.WireType.END_GROUP ? (jspb.asserts.fail(
									"Invalid wire type: %s (at position %s)", e, this.fieldCursor_),
								this.error_ = !0, !1) : (this.nextField_ = t, this.nextWireType_ =
								e, !0)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "nextField", jspb
						.BinaryReader.prototype.nextField), jspb.BinaryReader.prototype
					.unskipHeader = function() {
						this.decoder_.unskipVarint(this.nextField_ << 3 | this.nextWireType_)
					}, jspb.BinaryReader.prototype.skipMatchingFields = function() {
						var e = this.nextField_;
						for (this.unskipHeader(); this.nextField() && this.getFieldNumber() == e;)
							this.skipField();
						this.decoder_.atEnd() || this.unskipHeader()
					}, jspb.BinaryReader.prototype.skipVarintField = function() {
						this.nextWireType_ != jspb.BinaryConstants.WireType.VARINT ? (jspb.asserts
								.fail("Invalid wire type for skipVarintField"), this.skipField()) :
							this.decoder_.skipVarint()
					}, jspb.BinaryReader.prototype.skipDelimitedField = function() {
						if (this.nextWireType_ != jspb.BinaryConstants.WireType.DELIMITED) jspb
							.asserts.fail("Invalid wire type for skipDelimitedField"), this
							.skipField();
						else {
							var e = this.decoder_.readUnsignedVarint32();
							this.decoder_.advance(e)
						}
					}, jspb.BinaryReader.prototype.skipFixed32Field = function() {
						this.nextWireType_ != jspb.BinaryConstants.WireType.FIXED32 ? (jspb.asserts
								.fail("Invalid wire type for skipFixed32Field"), this.skipField()) :
							this.decoder_.advance(4)
					}, jspb.BinaryReader.prototype.skipFixed64Field = function() {
						this.nextWireType_ != jspb.BinaryConstants.WireType.FIXED64 ? (jspb.asserts
								.fail("Invalid wire type for skipFixed64Field"), this.skipField()) :
							this.decoder_.advance(8)
					}, jspb.BinaryReader.prototype.skipGroup = function() {
						for (var e = this.nextField_;;) {
							if (!this.nextField()) {
								jspb.asserts.fail("Unmatched start-group tag: stream EOF"), this
									.error_ = !0;
								break
							}
							if (this.nextWireType_ == jspb.BinaryConstants.WireType.END_GROUP) {
								this.nextField_ != e && (jspb.asserts.fail(
									"Unmatched end-group tag"), this.error_ = !0);
								break
							}
							this.skipField()
						}
					}, jspb.BinaryReader.prototype.skipField = function() {
						switch (this.nextWireType_) {
							case jspb.BinaryConstants.WireType.VARINT:
								this.skipVarintField();
								break;
							case jspb.BinaryConstants.WireType.FIXED64:
								this.skipFixed64Field();
								break;
							case jspb.BinaryConstants.WireType.DELIMITED:
								this.skipDelimitedField();
								break;
							case jspb.BinaryConstants.WireType.FIXED32:
								this.skipFixed32Field();
								break;
							case jspb.BinaryConstants.WireType.START_GROUP:
								this.skipGroup();
								break;
							default:
								jspb.asserts.fail("Invalid wire encoding for field.")
						}
					}, jspb.BinaryReader.prototype.registerReadCallback = function(e, t) {
						null === this.readCallbacks_ && (this.readCallbacks_ = {}), jspb.asserts
							.assert(!this.readCallbacks_[e]), this.readCallbacks_[e] = t
					}, jspb.BinaryReader.prototype.runReadCallback = function(e) {
						return jspb.asserts.assert(null !== this.readCallbacks_), e = this
							.readCallbacks_[e], jspb.asserts.assert(e), e(this)
					}, jspb.BinaryReader.prototype.readAny = function(e) {
						this.nextWireType_ = jspb.BinaryConstants.FieldTypeToWireType(e);
						var t = jspb.BinaryConstants.FieldType;
						switch (e) {
							case t.DOUBLE:
								return this.readDouble();
							case t.FLOAT:
								return this.readFloat();
							case t.INT64:
								return this.readInt64();
							case t.UINT64:
								return this.readUint64();
							case t.INT32:
								return this.readInt32();
							case t.FIXED64:
								return this.readFixed64();
							case t.FIXED32:
								return this.readFixed32();
							case t.BOOL:
								return this.readBool();
							case t.STRING:
								return this.readString();
							case t.GROUP:
								jspb.asserts.fail("Group field type not supported in readAny()");
							case t.MESSAGE:
								jspb.asserts.fail("Message field type not supported in readAny()");
							case t.BYTES:
								return this.readBytes();
							case t.UINT32:
								return this.readUint32();
							case t.ENUM:
								return this.readEnum();
							case t.SFIXED32:
								return this.readSfixed32();
							case t.SFIXED64:
								return this.readSfixed64();
							case t.SINT32:
								return this.readSint32();
							case t.SINT64:
								return this.readSint64();
							case t.FHASH64:
								return this.readFixedHash64();
							case t.VHASH64:
								return this.readVarintHash64();
							default:
								jspb.asserts.fail("Invalid field type in readAny()")
						}
						return 0
					}, jspb.BinaryReader.prototype.readMessage = function(e, t) {
						jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants.WireType
							.DELIMITED);
						var r = this.decoder_.getEnd(),
							o = this.decoder_.readUnsignedVarint32();
						o = this.decoder_.getCursor() + o, this.decoder_.setEnd(o), t(e, this), this
							.decoder_.setCursor(o), this.decoder_.setEnd(r)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readMessage", jspb
						.BinaryReader.prototype.readMessage), jspb.BinaryReader.prototype
					.readGroup = function(e, t, r) {
						jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants.WireType
								.START_GROUP), jspb.asserts.assert(this.nextField_ == e), r(t,
							this), this.error_ || this.nextWireType_ == jspb.BinaryConstants
							.WireType.END_GROUP || (jspb.asserts.fail(
									"Group submessage did not end with an END_GROUP tag"), this
								.error_ = !0)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readGroup", jspb
						.BinaryReader.prototype.readGroup), jspb.BinaryReader.prototype
					.getFieldDecoder = function() {
						jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants.WireType
							.DELIMITED);
						var e = this.decoder_.readUnsignedVarint32(),
							t = this.decoder_.getCursor(),
							r = t + e;
						return e = jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(), t, e), this
							.decoder_.setCursor(r), e
					}, jspb.BinaryReader.prototype.readInt32 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readSignedVarint32()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readInt32", jspb
						.BinaryReader.prototype.readInt32), jspb.BinaryReader.prototype
					.readInt32String = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readSignedVarint32String()
					}, jspb.BinaryReader.prototype.readInt64 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readSignedVarint64()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readInt64", jspb
						.BinaryReader.prototype.readInt64), jspb.BinaryReader.prototype
					.readInt64String = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readSignedVarint64String()
					}, jspb.BinaryReader.prototype.readUint32 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readUnsignedVarint32()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readUint32", jspb
						.BinaryReader.prototype.readUint32), jspb.BinaryReader.prototype
					.readUint32String = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readUnsignedVarint32String()
					}, jspb.BinaryReader.prototype.readUint64 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readUnsignedVarint64()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readUint64", jspb
						.BinaryReader.prototype.readUint64), jspb.BinaryReader.prototype
					.readUint64String = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readUnsignedVarint64String()
					}, jspb.BinaryReader.prototype.readSint32 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readZigzagVarint32()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readSint32", jspb
						.BinaryReader.prototype.readSint32), jspb.BinaryReader.prototype
					.readSint64 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readZigzagVarint64()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readSint64", jspb
						.BinaryReader.prototype.readSint64), jspb.BinaryReader.prototype
					.readSint64String = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readZigzagVarint64String()
					}, jspb.BinaryReader.prototype.readFixed32 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED32), this.decoder_.readUint32()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readFixed32", jspb
						.BinaryReader.prototype.readFixed32), jspb.BinaryReader.prototype
					.readFixed64 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED64), this.decoder_.readUint64()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readFixed64", jspb
						.BinaryReader.prototype.readFixed64), jspb.BinaryReader.prototype
					.readFixed64String = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED64), this.decoder_.readUint64String()
					}, jspb.BinaryReader.prototype.readSfixed32 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED32), this.decoder_.readInt32()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readSfixed32", jspb
						.BinaryReader.prototype.readSfixed32), jspb.BinaryReader.prototype
					.readSfixed32String = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED32), this.decoder_.readInt32().toString()
					}, jspb.BinaryReader.prototype.readSfixed64 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED64), this.decoder_.readInt64()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readSfixed64", jspb
						.BinaryReader.prototype.readSfixed64), jspb.BinaryReader.prototype
					.readSfixed64String = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED64), this.decoder_.readInt64String()
					}, jspb.BinaryReader.prototype.readFloat = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED32), this.decoder_.readFloat()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readFloat", jspb
						.BinaryReader.prototype.readFloat), jspb.BinaryReader.prototype.readDouble =
					function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED64), this.decoder_.readDouble()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readDouble", jspb
						.BinaryReader.prototype.readDouble), jspb.BinaryReader.prototype.readBool =
					function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), !!this.decoder_.readUnsignedVarint32()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readBool", jspb
						.BinaryReader.prototype.readBool), jspb.BinaryReader.prototype.readEnum =
					function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readSignedVarint64()
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readEnum", jspb
						.BinaryReader.prototype.readEnum), jspb.BinaryReader.prototype.readString =
					function() {
						jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants.WireType
							.DELIMITED);
						var e = this.decoder_.readUnsignedVarint32();
						return this.decoder_.readString(e)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readString", jspb
						.BinaryReader.prototype.readString), jspb.BinaryReader.prototype.readBytes =
					function() {
						jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants.WireType
							.DELIMITED);
						var e = this.decoder_.readUnsignedVarint32();
						return this.decoder_.readBytes(e)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readBytes", jspb
						.BinaryReader.prototype.readBytes), jspb.BinaryReader.prototype
					.readVarintHash64 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readVarintHash64()
					}, jspb.BinaryReader.prototype.readSintHash64 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readZigzagVarintHash64()
					}, jspb.BinaryReader.prototype.readSplitVarint64 = function(e) {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readSplitVarint64(e)
					}, jspb.BinaryReader.prototype.readSplitZigzagVarint64 = function(e) {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.VARINT), this.decoder_.readSplitVarint64(function(t, r) {
							return jspb.utils.fromZigzag64(t, r, e)
						})
					}, jspb.BinaryReader.prototype.readFixedHash64 = function() {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED64), this.decoder_.readFixedHash64()
					}, jspb.BinaryReader.prototype.readSplitFixed64 = function(e) {
						return jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants
							.WireType.FIXED64), this.decoder_.readSplitFixed64(e)
					}, jspb.BinaryReader.prototype.readPackedField_ = function(e) {
						jspb.asserts.assert(this.nextWireType_ == jspb.BinaryConstants.WireType
							.DELIMITED);
						var t = this.decoder_.readUnsignedVarint32();
						t = this.decoder_.getCursor() + t;
						for (var r = []; this.decoder_.getCursor() < t;) r.push(e.call(this
							.decoder_));
						return r
					}, jspb.BinaryReader.prototype.readPackedInt32 = function() {
						return this.readPackedField_(this.decoder_.readSignedVarint32)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedInt32", jspb
						.BinaryReader.prototype.readPackedInt32), jspb.BinaryReader.prototype
					.readPackedInt32String = function() {
						return this.readPackedField_(this.decoder_.readSignedVarint32String)
					}, jspb.BinaryReader.prototype.readPackedInt64 = function() {
						return this.readPackedField_(this.decoder_.readSignedVarint64)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedInt64", jspb
						.BinaryReader.prototype.readPackedInt64), jspb.BinaryReader.prototype
					.readPackedInt64String = function() {
						return this.readPackedField_(this.decoder_.readSignedVarint64String)
					}, jspb.BinaryReader.prototype.readPackedUint32 = function() {
						return this.readPackedField_(this.decoder_.readUnsignedVarint32)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedUint32", jspb
						.BinaryReader.prototype.readPackedUint32), jspb.BinaryReader.prototype
					.readPackedUint32String = function() {
						return this.readPackedField_(this.decoder_.readUnsignedVarint32String)
					}, jspb.BinaryReader.prototype.readPackedUint64 = function() {
						return this.readPackedField_(this.decoder_.readUnsignedVarint64)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedUint64", jspb
						.BinaryReader.prototype.readPackedUint64), jspb.BinaryReader.prototype
					.readPackedUint64String = function() {
						return this.readPackedField_(this.decoder_.readUnsignedVarint64String)
					}, jspb.BinaryReader.prototype.readPackedSint32 = function() {
						return this.readPackedField_(this.decoder_.readZigzagVarint32)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedSint32", jspb
						.BinaryReader.prototype.readPackedSint32), jspb.BinaryReader.prototype
					.readPackedSint64 = function() {
						return this.readPackedField_(this.decoder_.readZigzagVarint64)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedSint64", jspb
						.BinaryReader.prototype.readPackedSint64), jspb.BinaryReader.prototype
					.readPackedSint64String = function() {
						return this.readPackedField_(this.decoder_.readZigzagVarint64String)
					}, jspb.BinaryReader.prototype.readPackedFixed32 = function() {
						return this.readPackedField_(this.decoder_.readUint32)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedFixed32", jspb
						.BinaryReader.prototype.readPackedFixed32), jspb.BinaryReader.prototype
					.readPackedFixed64 = function() {
						return this.readPackedField_(this.decoder_.readUint64)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedFixed64", jspb
						.BinaryReader.prototype.readPackedFixed64), jspb.BinaryReader.prototype
					.readPackedFixed64String = function() {
						return this.readPackedField_(this.decoder_.readUint64String)
					}, jspb.BinaryReader.prototype.readPackedSfixed32 = function() {
						return this.readPackedField_(this.decoder_.readInt32)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedSfixed32", jspb
						.BinaryReader.prototype.readPackedSfixed32), jspb.BinaryReader.prototype
					.readPackedSfixed64 = function() {
						return this.readPackedField_(this.decoder_.readInt64)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedSfixed64", jspb
						.BinaryReader.prototype.readPackedSfixed64), jspb.BinaryReader.prototype
					.readPackedSfixed64String = function() {
						return this.readPackedField_(this.decoder_.readInt64String)
					}, jspb.BinaryReader.prototype.readPackedFloat = function() {
						return this.readPackedField_(this.decoder_.readFloat)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedFloat", jspb
						.BinaryReader.prototype.readPackedFloat), jspb.BinaryReader.prototype
					.readPackedDouble = function() {
						return this.readPackedField_(this.decoder_.readDouble)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedDouble", jspb
						.BinaryReader.prototype.readPackedDouble), jspb.BinaryReader.prototype
					.readPackedBool = function() {
						return this.readPackedField_(this.decoder_.readBool)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedBool", jspb
						.BinaryReader.prototype.readPackedBool), jspb.BinaryReader.prototype
					.readPackedEnum = function() {
						return this.readPackedField_(this.decoder_.readEnum)
					}, goog.exportProperty(jspb.BinaryReader.prototype, "readPackedEnum", jspb
						.BinaryReader.prototype.readPackedEnum), jspb.BinaryReader.prototype
					.readPackedVarintHash64 = function() {
						return this.readPackedField_(this.decoder_.readVarintHash64)
					}, jspb.BinaryReader.prototype.readPackedFixedHash64 = function() {
						return this.readPackedField_(this.decoder_.readFixedHash64)
					}, jspb.BinaryEncoder = function() {
						this.buffer_ = []
					}, jspb.BinaryEncoder.prototype.length = function() {
						return this.buffer_.length
					}, jspb.BinaryEncoder.prototype.end = function() {
						var e = this.buffer_;
						return this.buffer_ = [], e
					}, jspb.BinaryEncoder.prototype.writeSplitVarint64 = function(e, t) {
						for (jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(t == Math
								.floor(t)), jspb.asserts.assert(0 <= e && e < jspb.BinaryConstants
								.TWO_TO_32), jspb.asserts.assert(0 <= t && t < jspb.BinaryConstants
								.TWO_TO_32); 0 < t || 127 < e;) this.buffer_.push(127 & e | 128),
							e = (e >>> 7 | t << 25) >>> 0, t >>>= 7;
						this.buffer_.push(e)
					}, jspb.BinaryEncoder.prototype.writeSplitFixed64 = function(e, t) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(t == Math
							.floor(t)), jspb.asserts.assert(0 <= e && e < jspb.BinaryConstants
							.TWO_TO_32), jspb.asserts.assert(0 <= t && t < jspb.BinaryConstants
							.TWO_TO_32), this.writeUint32(e), this.writeUint32(t)
					}, jspb.BinaryEncoder.prototype.writeUnsignedVarint32 = function(e) {
						for (jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(0 <= e &&
								e < jspb.BinaryConstants.TWO_TO_32); 127 < e;) this.buffer_.push(
							127 & e | 128), e >>>= 7;
						this.buffer_.push(e)
					}, jspb.BinaryEncoder.prototype.writeSignedVarint32 = function(e) {
						if (jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(e >= -jspb
								.BinaryConstants.TWO_TO_31 && e < jspb.BinaryConstants.TWO_TO_31),
							0 <= e) this.writeUnsignedVarint32(e);
						else {
							for (var t = 0; 9 > t; t++) this.buffer_.push(127 & e | 128), e >>= 7;
							this.buffer_.push(1)
						}
					}, jspb.BinaryEncoder.prototype.writeUnsignedVarint64 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(0 <= e && e <
								jspb.BinaryConstants.TWO_TO_64), jspb.utils.splitInt64(e), this
							.writeSplitVarint64(jspb.utils.split64Low, jspb.utils.split64High)
					}, jspb.BinaryEncoder.prototype.writeSignedVarint64 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(e >= -jspb
								.BinaryConstants.TWO_TO_63 && e < jspb.BinaryConstants.TWO_TO_63),
							jspb.utils.splitInt64(e), this.writeSplitVarint64(jspb.utils.split64Low,
								jspb.utils.split64High)
					}, jspb.BinaryEncoder.prototype.writeZigzagVarint32 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(e >= -jspb
								.BinaryConstants.TWO_TO_31 && e < jspb.BinaryConstants.TWO_TO_31),
							this.writeUnsignedVarint32((e << 1 ^ e >> 31) >>> 0)
					}, jspb.BinaryEncoder.prototype.writeZigzagVarint64 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(e >= -jspb
								.BinaryConstants.TWO_TO_63 && e < jspb.BinaryConstants.TWO_TO_63),
							jspb.utils.splitZigzag64(e), this.writeSplitVarint64(jspb.utils
								.split64Low, jspb.utils.split64High)
					}, jspb.BinaryEncoder.prototype.writeZigzagVarint64String = function(e) {
						this.writeZigzagVarintHash64(jspb.utils.decimalStringToHash64(e))
					}, jspb.BinaryEncoder.prototype.writeZigzagVarintHash64 = function(e) {
						var t = this;
						jspb.utils.splitHash64(e), jspb.utils.toZigzag64(jspb.utils.split64Low, jspb
							.utils.split64High,
							function(e, r) {
								t.writeSplitVarint64(e >>> 0, r >>> 0)
							})
					}, jspb.BinaryEncoder.prototype.writeUint8 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(0 <= e && 256 >
							e), this.buffer_.push(e >>> 0 & 255)
					}, jspb.BinaryEncoder.prototype.writeUint16 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(0 <= e &&
							65536 > e), this.buffer_.push(e >>> 0 & 255), this.buffer_.push(
							e >>> 8 & 255)
					}, jspb.BinaryEncoder.prototype.writeUint32 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(0 <= e && e <
								jspb.BinaryConstants.TWO_TO_32), this.buffer_.push(e >>> 0 & 255),
							this.buffer_.push(e >>> 8 & 255), this.buffer_.push(e >>> 16 & 255),
							this.buffer_.push(e >>> 24 & 255)
					}, jspb.BinaryEncoder.prototype.writeUint64 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(0 <= e && e <
								jspb.BinaryConstants.TWO_TO_64), jspb.utils.splitUint64(e), this
							.writeUint32(jspb.utils.split64Low), this.writeUint32(jspb.utils
								.split64High)
					}, jspb.BinaryEncoder.prototype.writeInt8 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(-128 <= e &&
							128 > e), this.buffer_.push(e >>> 0 & 255)
					}, jspb.BinaryEncoder.prototype.writeInt16 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(-32768 <= e &&
							32768 > e), this.buffer_.push(e >>> 0 & 255), this.buffer_.push(
							e >>> 8 & 255)
					}, jspb.BinaryEncoder.prototype.writeInt32 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(e >= -jspb
								.BinaryConstants.TWO_TO_31 && e < jspb.BinaryConstants.TWO_TO_31),
							this.buffer_.push(e >>> 0 & 255), this.buffer_.push(e >>> 8 & 255), this
							.buffer_.push(e >>> 16 & 255), this.buffer_.push(e >>> 24 & 255)
					}, jspb.BinaryEncoder.prototype.writeInt64 = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(e >= -jspb
								.BinaryConstants.TWO_TO_63 && e < jspb.BinaryConstants.TWO_TO_63),
							jspb.utils.splitInt64(e), this.writeSplitFixed64(jspb.utils.split64Low,
								jspb.utils.split64High)
					}, jspb.BinaryEncoder.prototype.writeInt64String = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(+e >= -jspb
								.BinaryConstants.TWO_TO_63 && +e < jspb.BinaryConstants.TWO_TO_63),
							jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(e)), this
							.writeSplitFixed64(jspb.utils.split64Low, jspb.utils.split64High)
					}, jspb.BinaryEncoder.prototype.writeFloat = function(e) {
						jspb.asserts.assert(1 / 0 === e || -1 / 0 === e || isNaN(e) || e >= -jspb
							.BinaryConstants.FLOAT32_MAX && e <= jspb.BinaryConstants
							.FLOAT32_MAX), jspb.utils.splitFloat32(e), this.writeUint32(jspb
							.utils.split64Low)
					}, jspb.BinaryEncoder.prototype.writeDouble = function(e) {
						jspb.asserts.assert(1 / 0 === e || -1 / 0 === e || isNaN(e) || e >= -jspb
							.BinaryConstants.FLOAT64_MAX && e <= jspb.BinaryConstants
							.FLOAT64_MAX), jspb.utils.splitFloat64(e), this.writeUint32(jspb
							.utils.split64Low), this.writeUint32(jspb.utils.split64High)
					}, jspb.BinaryEncoder.prototype.writeBool = function(e) {
						jspb.asserts.assert("boolean" == typeof e || "number" == typeof e), this
							.buffer_.push(e ? 1 : 0)
					}, jspb.BinaryEncoder.prototype.writeEnum = function(e) {
						jspb.asserts.assert(e == Math.floor(e)), jspb.asserts.assert(e >= -jspb
								.BinaryConstants.TWO_TO_31 && e < jspb.BinaryConstants.TWO_TO_31),
							this.writeSignedVarint32(e)
					}, jspb.BinaryEncoder.prototype.writeBytes = function(e) {
						this.buffer_.push.apply(this.buffer_, e)
					}, jspb.BinaryEncoder.prototype.writeVarintHash64 = function(e) {
						jspb.utils.splitHash64(e), this.writeSplitVarint64(jspb.utils.split64Low,
							jspb.utils.split64High)
					}, jspb.BinaryEncoder.prototype.writeFixedHash64 = function(e) {
						jspb.utils.splitHash64(e), this.writeUint32(jspb.utils.split64Low), this
							.writeUint32(jspb.utils.split64High)
					}, jspb.BinaryEncoder.prototype.writeString = function(e) {
						var t = this.buffer_.length;
						jspb.asserts.assertString(e);
						for (var r = 0; r < e.length; r++) {
							var o = e.charCodeAt(r);
							if (128 > o) this.buffer_.push(o);
							else if (2048 > o) this.buffer_.push(o >> 6 | 192), this.buffer_.push(
								63 & o | 128);
							else if (65536 > o)
								if (55296 <= o && 56319 >= o && r + 1 < e.length) {
									var s = e.charCodeAt(r + 1);
									56320 <= s && 57343 >= s && (o = 1024 * (o - 55296) + s -
										56320 + 65536, this.buffer_.push(o >> 18 | 240), this
										.buffer_.push(o >> 12 & 63 | 128), this.buffer_.push(
											o >> 6 & 63 | 128), this.buffer_.push(63 & o | 128),
										r++)
								} else this.buffer_.push(o >> 12 | 224), this.buffer_.push(o >> 6 &
									63 | 128), this.buffer_.push(63 & o | 128)
						}
						return this.buffer_.length - t
					}, jspb.arith = {}, jspb.arith.UInt64 = function(e, t) {
						this.lo = e, this.hi = t
					}, jspb.arith.UInt64.prototype.cmp = function(e) {
						return this.hi < e.hi || this.hi == e.hi && this.lo < e.lo ? -1 : this.hi ==
							e.hi && this.lo == e.lo ? 0 : 1
					}, jspb.arith.UInt64.prototype.rightShift = function() {
						return new jspb.arith.UInt64((this.lo >>> 1 | (1 & this.hi) << 31) >>> 0,
							this.hi >>> 1 >>> 0)
					}, jspb.arith.UInt64.prototype.leftShift = function() {
						return new jspb.arith.UInt64(this.lo << 1 >>> 0, (this.hi << 1 | this.lo >>>
							31) >>> 0)
					}, jspb.arith.UInt64.prototype.msb = function() {
						return !!(2147483648 & this.hi)
					}, jspb.arith.UInt64.prototype.lsb = function() {
						return !!(1 & this.lo)
					}, jspb.arith.UInt64.prototype.zero = function() {
						return 0 == this.lo && 0 == this.hi
					}, jspb.arith.UInt64.prototype.add = function(e) {
						return new jspb.arith.UInt64((this.lo + e.lo & 4294967295) >>> 0 >>> 0, ((
							this.hi + e.hi & 4294967295) >>> 0) + (4294967296 <= this.lo + e
							.lo ? 1 : 0) >>> 0)
					}, jspb.arith.UInt64.prototype.sub = function(e) {
						return new jspb.arith.UInt64((this.lo - e.lo & 4294967295) >>> 0 >>> 0, ((
							this.hi - e.hi & 4294967295) >>> 0) - (0 > this.lo - e.lo ? 1 :
							0) >>> 0)
					}, jspb.arith.UInt64.mul32x32 = function(e, t) {
						var r = 65535 & e,
							o = 65535 & t,
							s = t >>> 16;
						for (t = r * o + 65536 * (r * s & 65535) + 65536 * ((e >>>= 16) * o &
							65535), r = e * s + (r * s >>> 16) + (e * o >>> 16); 4294967296 <= t;)
							t -= 4294967296, r += 1;
						return new jspb.arith.UInt64(t >>> 0, r >>> 0)
					}, jspb.arith.UInt64.prototype.mul = function(e) {
						var t = jspb.arith.UInt64.mul32x32(this.lo, e);
						return (e = jspb.arith.UInt64.mul32x32(this.hi, e)).hi = e.lo, e.lo = 0, t
							.add(e)
					}, jspb.arith.UInt64.prototype.div = function(e) {
						if (0 == e) return [];
						var t = new jspb.arith.UInt64(0, 0),
							r = new jspb.arith.UInt64(this.lo, this.hi);
						e = new jspb.arith.UInt64(e, 0);
						for (var o = new jspb.arith.UInt64(1, 0); !e.msb();) e = e.leftShift(), o =
							o.leftShift();
						for (; !o.zero();) 0 >= e.cmp(r) && (t = t.add(o), r = r.sub(e)), e = e
							.rightShift(), o = o.rightShift();
						return [t, r]
					}, jspb.arith.UInt64.prototype.toString = function() {
						for (var e = "", t = this; !t.zero();) {
							var r = (t = t.div(10))[0];
							e = t[1].lo + e, t = r
						}
						return "" == e && (e = "0"), e
					}, jspb.arith.UInt64.fromString = function(e) {
						for (var t = new jspb.arith.UInt64(0, 0), r = new jspb.arith.UInt64(0, 0),
								o = 0; o < e.length; o++) {
							if ("0" > e[o] || "9" < e[o]) return null;
							var s = parseInt(e[o], 10);
							r.lo = s, t = t.mul(10).add(r)
						}
						return t
					}, jspb.arith.UInt64.prototype.clone = function() {
						return new jspb.arith.UInt64(this.lo, this.hi)
					}, jspb.arith.Int64 = function(e, t) {
						this.lo = e, this.hi = t
					}, jspb.arith.Int64.prototype.add = function(e) {
						return new jspb.arith.Int64((this.lo + e.lo & 4294967295) >>> 0 >>> 0, ((
							this.hi + e.hi & 4294967295) >>> 0) + (4294967296 <= this.lo + e
							.lo ? 1 : 0) >>> 0)
					}, jspb.arith.Int64.prototype.sub = function(e) {
						return new jspb.arith.Int64((this.lo - e.lo & 4294967295) >>> 0 >>> 0, ((
							this.hi - e.hi & 4294967295) >>> 0) - (0 > this.lo - e.lo ? 1 :
							0) >>> 0)
					}, jspb.arith.Int64.prototype.clone = function() {
						return new jspb.arith.Int64(this.lo, this.hi)
					}, jspb.arith.Int64.prototype.toString = function() {
						var e = 0 != (2147483648 & this.hi),
							t = new jspb.arith.UInt64(this.lo, this.hi);
						return e && (t = new jspb.arith.UInt64(0, 0).sub(t)), (e ? "-" : "") + t
							.toString()
					}, jspb.arith.Int64.fromString = function(e) {
						var t = 0 < e.length && "-" == e[0];
						return t && (e = e.substring(1)), null === (e = jspb.arith.UInt64
							.fromString(e)) ? null : (t && (e = new jspb.arith.UInt64(0, 0).sub(
							e)), new jspb.arith.Int64(e.lo, e.hi))
					}, jspb.BinaryWriter = function() {
						this.blocks_ = [], this.totalLength_ = 0, this.encoder_ = new jspb
							.BinaryEncoder, this.bookmarks_ = []
					}, jspb.BinaryWriter.prototype.appendUint8Array_ = function(e) {
						var t = this.encoder_.end();
						this.blocks_.push(t), this.blocks_.push(e), this.totalLength_ += t.length +
							e.length
					}, jspb.BinaryWriter.prototype.beginDelimited_ = function(e) {
						return this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
							e = this.encoder_.end(), this.blocks_.push(e), this.totalLength_ += e
							.length, e.push(this.totalLength_), e
					}, jspb.BinaryWriter.prototype.endDelimited_ = function(e) {
						var t = e.pop();
						for (t = this.totalLength_ + this.encoder_.length() - t, jspb.asserts
							.assert(0 <= t); 127 < t;) e.push(127 & t | 128), t >>>= 7, this
							.totalLength_++;
						e.push(t), this.totalLength_++
					}, jspb.BinaryWriter.prototype.writeSerializedMessage = function(e, t, r) {
						this.appendUint8Array_(e.subarray(t, r))
					}, jspb.BinaryWriter.prototype.maybeWriteSerializedMessage = function(e, t, r) {
						null != e && null != t && null != r && this.writeSerializedMessage(e, t, r)
					}, jspb.BinaryWriter.prototype.reset = function() {
						this.blocks_ = [], this.encoder_.end(), this.totalLength_ = 0, this
							.bookmarks_ = []
					}, jspb.BinaryWriter.prototype.getResultBuffer = function() {
						jspb.asserts.assert(0 == this.bookmarks_.length);
						for (var e = new Uint8Array(this.totalLength_ + this.encoder_.length()), t =
								this.blocks_, r = t.length, o = 0, s = 0; s < r; s++) {
							var i = t[s];
							e.set(i, o), o += i.length
						}
						return t = this.encoder_.end(), e.set(t, o), o += t.length, jspb.asserts
							.assert(o == e.length), this.blocks_ = [e], e
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "getResultBuffer", jspb
						.BinaryWriter.prototype.getResultBuffer), jspb.BinaryWriter.prototype
					.getResultBase64String = function(e) {
						return goog.crypt.base64.encodeByteArray(this.getResultBuffer(), e)
					}, jspb.BinaryWriter.prototype.beginSubMessage = function(e) {
						this.bookmarks_.push(this.beginDelimited_(e))
					}, jspb.BinaryWriter.prototype.endSubMessage = function() {
						jspb.asserts.assert(0 <= this.bookmarks_.length), this.endDelimited_(this
							.bookmarks_.pop())
					}, jspb.BinaryWriter.prototype.writeFieldHeader_ = function(e, t) {
						jspb.asserts.assert(1 <= e && e == Math.floor(e)), this.encoder_
							.writeUnsignedVarint32(8 * e + t)
					}, jspb.BinaryWriter.prototype.writeAny = function(e, t, r) {
						var o = jspb.BinaryConstants.FieldType;
						switch (e) {
							case o.DOUBLE:
								this.writeDouble(t, r);
								break;
							case o.FLOAT:
								this.writeFloat(t, r);
								break;
							case o.INT64:
								this.writeInt64(t, r);
								break;
							case o.UINT64:
								this.writeUint64(t, r);
								break;
							case o.INT32:
								this.writeInt32(t, r);
								break;
							case o.FIXED64:
								this.writeFixed64(t, r);
								break;
							case o.FIXED32:
								this.writeFixed32(t, r);
								break;
							case o.BOOL:
								this.writeBool(t, r);
								break;
							case o.STRING:
								this.writeString(t, r);
								break;
							case o.GROUP:
								jspb.asserts.fail("Group field type not supported in writeAny()");
								break;
							case o.MESSAGE:
								jspb.asserts.fail("Message field type not supported in writeAny()");
								break;
							case o.BYTES:
								this.writeBytes(t, r);
								break;
							case o.UINT32:
								this.writeUint32(t, r);
								break;
							case o.ENUM:
								this.writeEnum(t, r);
								break;
							case o.SFIXED32:
								this.writeSfixed32(t, r);
								break;
							case o.SFIXED64:
								this.writeSfixed64(t, r);
								break;
							case o.SINT32:
								this.writeSint32(t, r);
								break;
							case o.SINT64:
								this.writeSint64(t, r);
								break;
							case o.FHASH64:
								this.writeFixedHash64(t, r);
								break;
							case o.VHASH64:
								this.writeVarintHash64(t, r);
								break;
							default:
								jspb.asserts.fail("Invalid field type in writeAny()")
						}
					}, jspb.BinaryWriter.prototype.writeUnsignedVarint32_ = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.VARINT), this.encoder_.writeUnsignedVarint32(t))
					}, jspb.BinaryWriter.prototype.writeSignedVarint32_ = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.VARINT), this.encoder_.writeSignedVarint32(t))
					}, jspb.BinaryWriter.prototype.writeUnsignedVarint64_ = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.VARINT), this.encoder_.writeUnsignedVarint64(t))
					}, jspb.BinaryWriter.prototype.writeSignedVarint64_ = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.VARINT), this.encoder_.writeSignedVarint64(t))
					}, jspb.BinaryWriter.prototype.writeZigzagVarint32_ = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.VARINT), this.encoder_.writeZigzagVarint32(t))
					}, jspb.BinaryWriter.prototype.writeZigzagVarint64_ = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.VARINT), this.encoder_.writeZigzagVarint64(t))
					}, jspb.BinaryWriter.prototype.writeZigzagVarint64String_ = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.VARINT), this.encoder_.writeZigzagVarint64String(t))
					}, jspb.BinaryWriter.prototype.writeZigzagVarintHash64_ = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.VARINT), this.encoder_.writeZigzagVarintHash64(t))
					}, jspb.BinaryWriter.prototype.writeInt32 = function(e, t) {
						null != t && (jspb.asserts.assert(t >= -jspb.BinaryConstants.TWO_TO_31 &&
							t < jspb.BinaryConstants.TWO_TO_31), this.writeSignedVarint32_(
							e, t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeInt32", jspb
						.BinaryWriter.prototype.writeInt32), jspb.BinaryWriter.prototype
					.writeInt32String = function(e, t) {
						null != t && (t = parseInt(t, 10), jspb.asserts.assert(t >= -jspb
							.BinaryConstants.TWO_TO_31 && t < jspb.BinaryConstants.TWO_TO_31
							), this.writeSignedVarint32_(e, t))
					}, jspb.BinaryWriter.prototype.writeInt64 = function(e, t) {
						null != t && (jspb.asserts.assert(t >= -jspb.BinaryConstants.TWO_TO_63 &&
							t < jspb.BinaryConstants.TWO_TO_63), this.writeSignedVarint64_(
							e, t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeInt64", jspb
						.BinaryWriter.prototype.writeInt64), jspb.BinaryWriter.prototype
					.writeInt64String = function(e, t) {
						null != t && (t = jspb.arith.Int64.fromString(t), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.VARINT), this.encoder_
							.writeSplitVarint64(t.lo, t.hi))
					}, jspb.BinaryWriter.prototype.writeUint32 = function(e, t) {
						null != t && (jspb.asserts.assert(0 <= t && t < jspb.BinaryConstants
							.TWO_TO_32), this.writeUnsignedVarint32_(e, t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeUint32", jspb
						.BinaryWriter.prototype.writeUint32), jspb.BinaryWriter.prototype
					.writeUint32String = function(e, t) {
						null != t && (t = parseInt(t, 10), jspb.asserts.assert(0 <= t && t < jspb
							.BinaryConstants.TWO_TO_32), this.writeUnsignedVarint32_(e, t))
					}, jspb.BinaryWriter.prototype.writeUint64 = function(e, t) {
						null != t && (jspb.asserts.assert(0 <= t && t < jspb.BinaryConstants
							.TWO_TO_64), this.writeUnsignedVarint64_(e, t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeUint64", jspb
						.BinaryWriter.prototype.writeUint64), jspb.BinaryWriter.prototype
					.writeUint64String = function(e, t) {
						null != t && (t = jspb.arith.UInt64.fromString(t), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.VARINT), this.encoder_
							.writeSplitVarint64(t.lo, t.hi))
					}, jspb.BinaryWriter.prototype.writeSint32 = function(e, t) {
						null != t && (jspb.asserts.assert(t >= -jspb.BinaryConstants.TWO_TO_31 &&
							t < jspb.BinaryConstants.TWO_TO_31), this.writeZigzagVarint32_(
							e, t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeSint32", jspb
						.BinaryWriter.prototype.writeSint32), jspb.BinaryWriter.prototype
					.writeSint64 = function(e, t) {
						null != t && (jspb.asserts.assert(t >= -jspb.BinaryConstants.TWO_TO_63 &&
							t < jspb.BinaryConstants.TWO_TO_63), this.writeZigzagVarint64_(
							e, t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeSint64", jspb
						.BinaryWriter.prototype.writeSint64), jspb.BinaryWriter.prototype
					.writeSintHash64 = function(e, t) {
						null != t && this.writeZigzagVarintHash64_(e, t)
					}, jspb.BinaryWriter.prototype.writeSint64String = function(e, t) {
						null != t && this.writeZigzagVarint64String_(e, t)
					}, jspb.BinaryWriter.prototype.writeFixed32 = function(e, t) {
						null != t && (jspb.asserts.assert(0 <= t && t < jspb.BinaryConstants
							.TWO_TO_32), this.writeFieldHeader_(e, jspb.BinaryConstants
							.WireType.FIXED32), this.encoder_.writeUint32(t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeFixed32", jspb
						.BinaryWriter.prototype.writeFixed32), jspb.BinaryWriter.prototype
					.writeFixed64 = function(e, t) {
						null != t && (jspb.asserts.assert(0 <= t && t < jspb.BinaryConstants
							.TWO_TO_64), this.writeFieldHeader_(e, jspb.BinaryConstants
							.WireType.FIXED64), this.encoder_.writeUint64(t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeFixed64", jspb
						.BinaryWriter.prototype.writeFixed64), jspb.BinaryWriter.prototype
					.writeFixed64String = function(e, t) {
						null != t && (t = jspb.arith.UInt64.fromString(t), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.FIXED64), this.encoder_
							.writeSplitFixed64(t.lo, t.hi))
					}, jspb.BinaryWriter.prototype.writeSfixed32 = function(e, t) {
						null != t && (jspb.asserts.assert(t >= -jspb.BinaryConstants.TWO_TO_31 &&
								t < jspb.BinaryConstants.TWO_TO_31), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.FIXED32), this.encoder_
							.writeInt32(t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeSfixed32", jspb
						.BinaryWriter.prototype.writeSfixed32), jspb.BinaryWriter.prototype
					.writeSfixed64 = function(e, t) {
						null != t && (jspb.asserts.assert(t >= -jspb.BinaryConstants.TWO_TO_63 &&
								t < jspb.BinaryConstants.TWO_TO_63), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.FIXED64), this.encoder_
							.writeInt64(t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeSfixed64", jspb
						.BinaryWriter.prototype.writeSfixed64), jspb.BinaryWriter.prototype
					.writeSfixed64String = function(e, t) {
						null != t && (t = jspb.arith.Int64.fromString(t), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.FIXED64), this.encoder_
							.writeSplitFixed64(t.lo, t.hi))
					}, jspb.BinaryWriter.prototype.writeFloat = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.FIXED32), this.encoder_.writeFloat(t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeFloat", jspb
						.BinaryWriter.prototype.writeFloat), jspb.BinaryWriter.prototype
					.writeDouble = function(e, t) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.FIXED64), this.encoder_.writeDouble(t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeDouble", jspb
						.BinaryWriter.prototype.writeDouble), jspb.BinaryWriter.prototype
					.writeBool = function(e, t) {
						null != t && (jspb.asserts.assert("boolean" == typeof t || "number" ==
							typeof t), this.writeFieldHeader_(e, jspb.BinaryConstants
							.WireType.VARINT), this.encoder_.writeBool(t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeBool", jspb
						.BinaryWriter.prototype.writeBool), jspb.BinaryWriter.prototype.writeEnum =
					function(e, t) {
						null != t && (jspb.asserts.assert(t >= -jspb.BinaryConstants.TWO_TO_31 &&
								t < jspb.BinaryConstants.TWO_TO_31), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.VARINT), this.encoder_
							.writeSignedVarint32(t))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeEnum", jspb
						.BinaryWriter.prototype.writeEnum), jspb.BinaryWriter.prototype
					.writeString = function(e, t) {
						null != t && (e = this.beginDelimited_(e), this.encoder_.writeString(t),
							this.endDelimited_(e))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeString", jspb
						.BinaryWriter.prototype.writeString), jspb.BinaryWriter.prototype
					.writeBytes = function(e, t) {
						null != t && (t = jspb.utils.byteSourceToUint8Array(t), this
							.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED), this
							.encoder_.writeUnsignedVarint32(t.length), this.appendUint8Array_(t)
							)
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeBytes", jspb
						.BinaryWriter.prototype.writeBytes), jspb.BinaryWriter.prototype
					.writeMessage = function(e, t, r) {
						null != t && (e = this.beginDelimited_(e), r(t, this), this.endDelimited_(
							e))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeMessage", jspb
						.BinaryWriter.prototype.writeMessage), jspb.BinaryWriter.prototype
					.writeMessageSet = function(e, t, r) {
						null != t && (this.writeFieldHeader_(1, jspb.BinaryConstants.WireType
								.START_GROUP), this.writeFieldHeader_(2, jspb.BinaryConstants
								.WireType.VARINT), this.encoder_.writeSignedVarint32(e), e =
							this.beginDelimited_(3), r(t, this), this.endDelimited_(e), this
							.writeFieldHeader_(1, jspb.BinaryConstants.WireType.END_GROUP))
					}, jspb.BinaryWriter.prototype.writeGroup = function(e, t, r) {
						null != t && (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType
							.START_GROUP), r(t, this), this.writeFieldHeader_(e, jspb
							.BinaryConstants.WireType.END_GROUP))
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeGroup", jspb
						.BinaryWriter.prototype.writeGroup), jspb.BinaryWriter.prototype
					.writeFixedHash64 = function(e, t) {
						null != t && (jspb.asserts.assert(8 == t.length), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.FIXED64), this.encoder_
							.writeFixedHash64(t))
					}, jspb.BinaryWriter.prototype.writeVarintHash64 = function(e, t) {
						null != t && (jspb.asserts.assert(8 == t.length), this.writeFieldHeader_(e,
								jspb.BinaryConstants.WireType.VARINT), this.encoder_
							.writeVarintHash64(t))
					}, jspb.BinaryWriter.prototype.writeSplitFixed64 = function(e, t, r) {
						this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.FIXED64), this
							.encoder_.writeSplitFixed64(t, r)
					}, jspb.BinaryWriter.prototype.writeSplitVarint64 = function(e, t, r) {
						this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.VARINT), this
							.encoder_.writeSplitVarint64(t, r)
					}, jspb.BinaryWriter.prototype.writeSplitZigzagVarint64 = function(e, t, r) {
						this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.VARINT);
						var o = this.encoder_;
						jspb.utils.toZigzag64(t, r, function(e, t) {
							o.writeSplitVarint64(e >>> 0, t >>> 0)
						})
					}, jspb.BinaryWriter.prototype.writeRepeatedInt32 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeSignedVarint32_(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedInt32", jspb
						.BinaryWriter.prototype.writeRepeatedInt32), jspb.BinaryWriter.prototype
					.writeRepeatedInt32String = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeInt32String(e, t[r])
					}, jspb.BinaryWriter.prototype.writeRepeatedInt64 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeSignedVarint64_(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedInt64", jspb
						.BinaryWriter.prototype.writeRepeatedInt64), jspb.BinaryWriter.prototype
					.writeRepeatedSplitFixed64 = function(e, t, r, o) {
						if (null != t)
							for (var s = 0; s < t.length; s++) this.writeSplitFixed64(e, r(t[s]), o(
								t[s]))
					}, jspb.BinaryWriter.prototype.writeRepeatedSplitVarint64 = function(e, t, r,
					o) {
						if (null != t)
							for (var s = 0; s < t.length; s++) this.writeSplitVarint64(e, r(t[s]),
								o(t[s]))
					}, jspb.BinaryWriter.prototype.writeRepeatedSplitZigzagVarint64 = function(e, t,
						r, o) {
						if (null != t)
							for (var s = 0; s < t.length; s++) this.writeSplitZigzagVarint64(e, r(t[
								s]), o(t[s]))
					}, jspb.BinaryWriter.prototype.writeRepeatedInt64String = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeInt64String(e, t[r])
					}, jspb.BinaryWriter.prototype.writeRepeatedUint32 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeUnsignedVarint32_(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedUint32", jspb
						.BinaryWriter.prototype.writeRepeatedUint32), jspb.BinaryWriter.prototype
					.writeRepeatedUint32String = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeUint32String(e, t[r])
					}, jspb.BinaryWriter.prototype.writeRepeatedUint64 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeUnsignedVarint64_(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedUint64", jspb
						.BinaryWriter.prototype.writeRepeatedUint64), jspb.BinaryWriter.prototype
					.writeRepeatedUint64String = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeUint64String(e, t[r])
					}, jspb.BinaryWriter.prototype.writeRepeatedSint32 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeZigzagVarint32_(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedSint32", jspb
						.BinaryWriter.prototype.writeRepeatedSint32), jspb.BinaryWriter.prototype
					.writeRepeatedSint64 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeZigzagVarint64_(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedSint64", jspb
						.BinaryWriter.prototype.writeRepeatedSint64), jspb.BinaryWriter.prototype
					.writeRepeatedSint64String = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeZigzagVarint64String_(e, t[
								r])
					}, jspb.BinaryWriter.prototype.writeRepeatedSintHash64 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeZigzagVarintHash64_(e, t[
								r])
					}, jspb.BinaryWriter.prototype.writeRepeatedFixed32 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeFixed32(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedFixed32", jspb
						.BinaryWriter.prototype.writeRepeatedFixed32), jspb.BinaryWriter.prototype
					.writeRepeatedFixed64 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeFixed64(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedFixed64", jspb
						.BinaryWriter.prototype.writeRepeatedFixed64), jspb.BinaryWriter.prototype
					.writeRepeatedFixed64String = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeFixed64String(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype,
						"writeRepeatedFixed64String", jspb.BinaryWriter.prototype
						.writeRepeatedFixed64String), jspb.BinaryWriter.prototype
					.writeRepeatedSfixed32 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeSfixed32(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedSfixed32",
						jspb.BinaryWriter.prototype.writeRepeatedSfixed32), jspb.BinaryWriter
					.prototype.writeRepeatedSfixed64 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeSfixed64(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedSfixed64",
						jspb.BinaryWriter.prototype.writeRepeatedSfixed64), jspb.BinaryWriter
					.prototype.writeRepeatedSfixed64String = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeSfixed64String(e, t[r])
					}, jspb.BinaryWriter.prototype.writeRepeatedFloat = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeFloat(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedFloat", jspb
						.BinaryWriter.prototype.writeRepeatedFloat), jspb.BinaryWriter.prototype
					.writeRepeatedDouble = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeDouble(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedDouble", jspb
						.BinaryWriter.prototype.writeRepeatedDouble), jspb.BinaryWriter.prototype
					.writeRepeatedBool = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeBool(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedBool", jspb
						.BinaryWriter.prototype.writeRepeatedBool), jspb.BinaryWriter.prototype
					.writeRepeatedEnum = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeEnum(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedEnum", jspb
						.BinaryWriter.prototype.writeRepeatedEnum), jspb.BinaryWriter.prototype
					.writeRepeatedString = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeString(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedString", jspb
						.BinaryWriter.prototype.writeRepeatedString), jspb.BinaryWriter.prototype
					.writeRepeatedBytes = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeBytes(e, t[r])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedBytes", jspb
						.BinaryWriter.prototype.writeRepeatedBytes), jspb.BinaryWriter.prototype
					.writeRepeatedMessage = function(e, t, r) {
						if (null != t)
							for (var o = 0; o < t.length; o++) {
								var s = this.beginDelimited_(e);
								r(t[o], this), this.endDelimited_(s)
							}
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedMessage", jspb
						.BinaryWriter.prototype.writeRepeatedMessage), jspb.BinaryWriter.prototype
					.writeRepeatedGroup = function(e, t, r) {
						if (null != t)
							for (var o = 0; o < t.length; o++) this.writeFieldHeader_(e, jspb
									.BinaryConstants.WireType.START_GROUP), r(t[o], this), this
								.writeFieldHeader_(e, jspb.BinaryConstants.WireType.END_GROUP)
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writeRepeatedGroup", jspb
						.BinaryWriter.prototype.writeRepeatedGroup), jspb.BinaryWriter.prototype
					.writeRepeatedFixedHash64 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeFixedHash64(e, t[r])
					}, jspb.BinaryWriter.prototype.writeRepeatedVarintHash64 = function(e, t) {
						if (null != t)
							for (var r = 0; r < t.length; r++) this.writeVarintHash64(e, t[r])
					}, jspb.BinaryWriter.prototype.writePackedInt32 = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeSignedVarint32(t[
								r]);
							this.endDelimited_(e)
						}
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedInt32", jspb
						.BinaryWriter.prototype.writePackedInt32), jspb.BinaryWriter.prototype
					.writePackedInt32String = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeSignedVarint32(
								parseInt(t[r], 10));
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedInt64 = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeSignedVarint64(t[
								r]);
							this.endDelimited_(e)
						}
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedInt64", jspb
						.BinaryWriter.prototype.writePackedInt64), jspb.BinaryWriter.prototype
					.writePackedSplitFixed64 = function(e, t, r, o) {
						if (null != t) {
							e = this.beginDelimited_(e);
							for (var s = 0; s < t.length; s++) this.encoder_.writeSplitFixed64(r(t[
								s]), o(t[s]));
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedSplitVarint64 = function(e, t, r, o) {
						if (null != t) {
							e = this.beginDelimited_(e);
							for (var s = 0; s < t.length; s++) this.encoder_.writeSplitVarint64(r(t[
								s]), o(t[s]));
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedSplitZigzagVarint64 = function(e, t,
						r, o) {
						if (null != t) {
							e = this.beginDelimited_(e);
							for (var s = this.encoder_, i = 0; i < t.length; i++) jspb.utils
								.toZigzag64(r(t[i]), o(t[i]), function(e, t) {
									s.writeSplitVarint64(e >>> 0, t >>> 0)
								});
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedInt64String = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) {
								var o = jspb.arith.Int64.fromString(t[r]);
								this.encoder_.writeSplitVarint64(o.lo, o.hi)
							}
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedUint32 = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeUnsignedVarint32(
								t[r]);
							this.endDelimited_(e)
						}
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedUint32", jspb
						.BinaryWriter.prototype.writePackedUint32), jspb.BinaryWriter.prototype
					.writePackedUint32String = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeUnsignedVarint32(
								parseInt(t[r], 10));
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedUint64 = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeUnsignedVarint64(
								t[r]);
							this.endDelimited_(e)
						}
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedUint64", jspb
						.BinaryWriter.prototype.writePackedUint64), jspb.BinaryWriter.prototype
					.writePackedUint64String = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) {
								var o = jspb.arith.UInt64.fromString(t[r]);
								this.encoder_.writeSplitVarint64(o.lo, o.hi)
							}
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedSint32 = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeZigzagVarint32(t[
								r]);
							this.endDelimited_(e)
						}
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedSint32", jspb
						.BinaryWriter.prototype.writePackedSint32), jspb.BinaryWriter.prototype
					.writePackedSint64 = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeZigzagVarint64(t[
								r]);
							this.endDelimited_(e)
						}
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedSint64", jspb
						.BinaryWriter.prototype.writePackedSint64), jspb.BinaryWriter.prototype
					.writePackedSint64String = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_
								.writeZigzagVarintHash64(jspb.utils.decimalStringToHash64(t[r]));
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedSintHash64 = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_
								.writeZigzagVarintHash64(t[r]);
							this.endDelimited_(e)
						}
					}, jspb.BinaryWriter.prototype.writePackedFixed32 = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(4 * t.length), e = 0; e < t
								.length; e++) this.encoder_.writeUint32(t[e])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedFixed32", jspb
						.BinaryWriter.prototype.writePackedFixed32), jspb.BinaryWriter.prototype
					.writePackedFixed64 = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(8 * t.length), e = 0; e < t
								.length; e++) this.encoder_.writeUint64(t[e])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedFixed64", jspb
						.BinaryWriter.prototype.writePackedFixed64), jspb.BinaryWriter.prototype
					.writePackedFixed64String = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(8 * t.length), e = 0; e < t
								.length; e++) {
								var r = jspb.arith.UInt64.fromString(t[e]);
								this.encoder_.writeSplitFixed64(r.lo, r.hi)
							}
					}, jspb.BinaryWriter.prototype.writePackedSfixed32 = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(4 * t.length), e = 0; e < t
								.length; e++) this.encoder_.writeInt32(t[e])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedSfixed32", jspb
						.BinaryWriter.prototype.writePackedSfixed32), jspb.BinaryWriter.prototype
					.writePackedSfixed64 = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(8 * t.length), e = 0; e < t
								.length; e++) this.encoder_.writeInt64(t[e])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedSfixed64", jspb
						.BinaryWriter.prototype.writePackedSfixed64), jspb.BinaryWriter.prototype
					.writePackedSfixed64String = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(8 * t.length), e = 0; e < t
								.length; e++) this.encoder_.writeInt64String(t[e])
					}, jspb.BinaryWriter.prototype.writePackedFloat = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(4 * t.length), e = 0; e < t
								.length; e++) this.encoder_.writeFloat(t[e])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedFloat", jspb
						.BinaryWriter.prototype.writePackedFloat), jspb.BinaryWriter.prototype
					.writePackedDouble = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(8 * t.length), e = 0; e < t
								.length; e++) this.encoder_.writeDouble(t[e])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedDouble", jspb
						.BinaryWriter.prototype.writePackedDouble), jspb.BinaryWriter.prototype
					.writePackedBool = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(t.length), e = 0; e < t
								.length; e++) this.encoder_.writeBool(t[e])
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedBool", jspb
						.BinaryWriter.prototype.writePackedBool), jspb.BinaryWriter.prototype
					.writePackedEnum = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeEnum(t[r]);
							this.endDelimited_(e)
						}
					}, goog.exportProperty(jspb.BinaryWriter.prototype, "writePackedEnum", jspb
						.BinaryWriter.prototype.writePackedEnum), jspb.BinaryWriter.prototype
					.writePackedFixedHash64 = function(e, t) {
						if (null != t && t.length)
							for (this.writeFieldHeader_(e, jspb.BinaryConstants.WireType.DELIMITED),
								this.encoder_.writeUnsignedVarint32(8 * t.length), e = 0; e < t
								.length; e++) this.encoder_.writeFixedHash64(t[e])
					}, jspb.BinaryWriter.prototype.writePackedVarintHash64 = function(e, t) {
						if (null != t && t.length) {
							e = this.beginDelimited_(e);
							for (var r = 0; r < t.length; r++) this.encoder_.writeVarintHash64(t[
							r]);
							this.endDelimited_(e)
						}
					}, jspb.Map = function(e, t) {
						this.arr_ = e, this.valueCtor_ = t, this.map_ = {}, this.arrClean = !0, 0 <
							this.arr_.length && this.loadFromArray_()
					}, goog.exportSymbol("jspb.Map", jspb.Map), jspb.Map.prototype.loadFromArray_ =
					function() {
						for (var e = 0; e < this.arr_.length; e++) {
							var t = this.arr_[e],
								r = t[0];
							this.map_[r.toString()] = new jspb.Map.Entry_(r, t[1])
						}
						this.arrClean = !0
					}, jspb.Map.prototype.toArray = function() {
						if (this.arrClean) {
							if (this.valueCtor_) {
								var e, t = this.map_;
								for (e in t)
									if (Object.prototype.hasOwnProperty.call(t, e)) {
										var r = t[e].valueWrapper;
										r && r.toArray()
									}
							}
						} else {
							for (this.arr_.length = 0, (t = this.stringKeys_()).sort(), e = 0; e < t
								.length; e++) {
								var o = this.map_[t[e]];
								(r = o.valueWrapper) && r.toArray(), this.arr_.push([o.key, o
									.value])
							}
							this.arrClean = !0
						}
						return this.arr_
					}, goog.exportProperty(jspb.Map.prototype, "toArray", jspb.Map.prototype
						.toArray), jspb.Map.prototype.toObject = function(e, t) {
						for (var r = this.toArray(), o = [], s = 0; s < r.length; s++) {
							var i = this.map_[r[s][0].toString()];
							this.wrapEntry_(i);
							var n = i.valueWrapper;
							n ? (jspb.asserts.assert(t), o.push([i.key, t(e, n)])) : o.push([i.key,
								i.value
							])
						}
						return o
					}, goog.exportProperty(jspb.Map.prototype, "toObject", jspb.Map.prototype
						.toObject), jspb.Map.fromObject = function(e, t, r) {
						t = new jspb.Map([], t);
						for (var o = 0; o < e.length; o++) {
							var s = e[o][0],
								i = r(e[o][1]);
							t.set(s, i)
						}
						return t
					}, goog.exportProperty(jspb.Map, "fromObject", jspb.Map.fromObject), jspb.Map
					.ArrayIteratorIterable_ = function(e) {
						this.idx_ = 0, this.arr_ = e
					}, jspb.Map.ArrayIteratorIterable_.prototype.next = function() {
						return this.idx_ < this.arr_.length ? {
							done: !1,
							value: this.arr_[this.idx_++]
						} : {
							done: !0,
							value: void 0
						}
					}, "undefined" != typeof Symbol && (jspb.Map.ArrayIteratorIterable_.prototype[
						Symbol.iterator] = function() {
						return this
					}), jspb.Map.prototype.getLength = function() {
						return this.stringKeys_().length
					}, goog.exportProperty(jspb.Map.prototype, "getLength", jspb.Map.prototype
						.getLength), jspb.Map.prototype.clear = function() {
						this.map_ = {}, this.arrClean = !1
					}, goog.exportProperty(jspb.Map.prototype, "clear", jspb.Map.prototype.clear),
					jspb.Map.prototype.del = function(e) {
						e = e.toString();
						var t = this.map_.hasOwnProperty(e);
						return delete this.map_[e], this.arrClean = !1, t
					}, goog.exportProperty(jspb.Map.prototype, "del", jspb.Map.prototype.del), jspb
					.Map.prototype.getEntryList = function() {
						var e = [],
							t = this.stringKeys_();
						t.sort();
						for (var r = 0; r < t.length; r++) {
							var o = this.map_[t[r]];
							e.push([o.key, o.value])
						}
						return e
					}, goog.exportProperty(jspb.Map.prototype, "getEntryList", jspb.Map.prototype
						.getEntryList), jspb.Map.prototype.entries = function() {
						var e = [],
							t = this.stringKeys_();
						t.sort();
						for (var r = 0; r < t.length; r++) {
							var o = this.map_[t[r]];
							e.push([o.key, this.wrapEntry_(o)])
						}
						return new jspb.Map.ArrayIteratorIterable_(e)
					}, goog.exportProperty(jspb.Map.prototype, "entries", jspb.Map.prototype
						.entries), jspb.Map.prototype.keys = function() {
						var e = [],
							t = this.stringKeys_();
						t.sort();
						for (var r = 0; r < t.length; r++) e.push(this.map_[t[r]].key);
						return new jspb.Map.ArrayIteratorIterable_(e)
					}, goog.exportProperty(jspb.Map.prototype, "keys", jspb.Map.prototype.keys),
					jspb.Map.prototype.values = function() {
						var e = [],
							t = this.stringKeys_();
						t.sort();
						for (var r = 0; r < t.length; r++) e.push(this.wrapEntry_(this.map_[t[r]]));
						return new jspb.Map.ArrayIteratorIterable_(e)
					}, goog.exportProperty(jspb.Map.prototype, "values", jspb.Map.prototype.values),
					jspb.Map.prototype.forEach = function(e, t) {
						var r = this.stringKeys_();
						r.sort();
						for (var o = 0; o < r.length; o++) {
							var s = this.map_[r[o]];
							e.call(t, this.wrapEntry_(s), s.key, this)
						}
					}, goog.exportProperty(jspb.Map.prototype, "forEach", jspb.Map.prototype
						.forEach), jspb.Map.prototype.set = function(e, t) {
						var r = new jspb.Map.Entry_(e);
						return this.valueCtor_ ? (r.valueWrapper = t, r.value = t.toArray()) : r
							.value = t, this.map_[e.toString()] = r, this.arrClean = !1, this
					}, goog.exportProperty(jspb.Map.prototype, "set", jspb.Map.prototype.set), jspb
					.Map.prototype.wrapEntry_ = function(e) {
						return this.valueCtor_ ? (e.valueWrapper || (e.valueWrapper = new this
							.valueCtor_(e.value)), e.valueWrapper) : e.value
					}, jspb.Map.prototype.get = function(e) {
						if (e = this.map_[e.toString()]) return this.wrapEntry_(e)
					}, goog.exportProperty(jspb.Map.prototype, "get", jspb.Map.prototype.get), jspb
					.Map.prototype.has = function(e) {
						return e.toString() in this.map_
					}, goog.exportProperty(jspb.Map.prototype, "has", jspb.Map.prototype.has), jspb
					.Map.prototype.serializeBinary = function(e, t, r, o, s) {
						var i = this.stringKeys_();
						i.sort();
						for (var n = 0; n < i.length; n++) {
							var a = this.map_[i[n]];
							t.beginSubMessage(e), r.call(t, 1, a.key), this.valueCtor_ ? o.call(t,
									2, this.wrapEntry_(a), s) : o.call(t, 2, a.value), t
								.endSubMessage()
						}
					}, goog.exportProperty(jspb.Map.prototype, "serializeBinary", jspb.Map.prototype
						.serializeBinary), jspb.Map.deserializeBinary = function(e, t, r, o, s, i,
						n) {
						for (; t.nextField() && !t.isEndGroup();) {
							var a = t.getFieldNumber();
							1 == a ? i = r.call(t) : 2 == a && (e.valueCtor_ ? (jspb.asserts.assert(
									s), n || (n = new e.valueCtor_), o.call(t, n, s)) : n = o
								.call(t))
						}
						jspb.asserts.assert(null != i), jspb.asserts.assert(null != n), e.set(i, n)
					}, goog.exportProperty(jspb.Map, "deserializeBinary", jspb.Map
						.deserializeBinary), jspb.Map.prototype.stringKeys_ = function() {
						var e, t = this.map_,
							r = [];
						for (e in t) Object.prototype.hasOwnProperty.call(t, e) && r.push(e);
						return r
					}, jspb.Map.Entry_ = function(e, t) {
						this.key = e, this.value = t, this.valueWrapper = void 0
					}, jspb.ExtensionFieldInfo = function(e, t, r, o, s) {
						this.fieldIndex = e, this.fieldName = t, this.ctor = r, this.toObjectFn = o,
							this.isRepeated = s
					}, goog.exportSymbol("jspb.ExtensionFieldInfo", jspb.ExtensionFieldInfo), jspb
					.ExtensionFieldBinaryInfo = function(e, t, r, o, s, i) {
						this.fieldInfo = e, this.binaryReaderFn = t, this.binaryWriterFn = r, this
							.binaryMessageSerializeFn = o, this.binaryMessageDeserializeFn = s, this
							.isPacked = i
					}, goog.exportSymbol("jspb.ExtensionFieldBinaryInfo", jspb
						.ExtensionFieldBinaryInfo), jspb.ExtensionFieldInfo.prototype
					.isMessageType = function() {
						return !!this.ctor
					}, goog.exportProperty(jspb.ExtensionFieldInfo.prototype, "isMessageType", jspb
						.ExtensionFieldInfo.prototype.isMessageType), jspb.Message = function() {},
					goog.exportSymbol("jspb.Message", jspb.Message), jspb.Message
					.GENERATE_TO_OBJECT = !0, goog.exportProperty(jspb.Message,
						"GENERATE_TO_OBJECT", jspb.Message.GENERATE_TO_OBJECT), jspb.Message
					.GENERATE_FROM_OBJECT = !goog.DISALLOW_TEST_ONLY_CODE, goog.exportProperty(jspb
						.Message, "GENERATE_FROM_OBJECT", jspb.Message.GENERATE_FROM_OBJECT), jspb
					.Message.GENERATE_TO_STRING = !0, jspb.Message.ASSUME_LOCAL_ARRAYS = !1, jspb
					.Message.SERIALIZE_EMPTY_TRAILING_FIELDS = !0, jspb.Message
					.SUPPORTS_UINT8ARRAY_ = "function" == typeof Uint8Array, jspb.Message.prototype
					.getJsPbMessageId = function() {
						return this.messageId_
					}, goog.exportProperty(jspb.Message.prototype, "getJsPbMessageId", jspb.Message
						.prototype.getJsPbMessageId), jspb.Message.getIndex_ = function(e, t) {
						return t + e.arrayIndexOffset_
					}, jspb.Message.hiddenES6Property_ = function() {}, jspb.Message
					.getFieldNumber_ = function(e, t) {
						return t - e.arrayIndexOffset_
					}, jspb.Message.initialize = function(e, t, r, o, s, i) {
						if (e.wrappers_ = null, t || (t = r ? [r] : []), e.messageId_ = r ? String(
								r) : void 0, e.arrayIndexOffset_ = 0 === r ? -1 : 0, e.array = t,
							jspb.Message.initPivotAndExtensionObject_(e, o), e
							.convertedPrimitiveFields_ = {}, jspb.Message
							.SERIALIZE_EMPTY_TRAILING_FIELDS || (e.repeatedFields = s), s)
							for (t = 0; t < s.length; t++)(r = s[t]) < e.pivot_ ? (r = jspb.Message
								.getIndex_(e, r), e.array[r] = e.array[r] || jspb.Message
								.EMPTY_LIST_SENTINEL_) : (jspb.Message
								.maybeInitEmptyExtensionObject_(e), e.extensionObject_[r] = e
								.extensionObject_[r] || jspb.Message.EMPTY_LIST_SENTINEL_);
						if (i && i.length)
							for (t = 0; t < i.length; t++) jspb.Message.computeOneofCase(e, i[t])
					}, goog.exportProperty(jspb.Message, "initialize", jspb.Message.initialize),
					jspb.Message.EMPTY_LIST_SENTINEL_ = goog.DEBUG && Object.freeze ? Object.freeze(
						[]) : [], jspb.Message.isArray_ = function(e) {
						return jspb.Message.ASSUME_LOCAL_ARRAYS ? e instanceof Array : Array
							.isArray(e)
					}, jspb.Message.isExtensionObject_ = function(e) {
						return !(null === e || "object" != typeof e || jspb.Message.isArray_(e) ||
							jspb.Message.SUPPORTS_UINT8ARRAY_ && e instanceof Uint8Array)
					}, jspb.Message.initPivotAndExtensionObject_ = function(e, t) {
						var r = e.array.length,
							o = -1;
						if (r && (o = r - 1, r = e.array[o], jspb.Message.isExtensionObject_(r)))
							return e.pivot_ = jspb.Message.getFieldNumber_(e, o), void(e
								.extensionObject_ = r); - 1 < t ? (e.pivot_ = Math.max(t, jspb
								.Message.getFieldNumber_(e, o + 1)), e.extensionObject_ = null) : e
							.pivot_ = Number.MAX_VALUE
					}, jspb.Message.maybeInitEmptyExtensionObject_ = function(e) {
						var t = jspb.Message.getIndex_(e, e.pivot_);
						e.array[t] || (e.extensionObject_ = e.array[t] = {})
					}, jspb.Message.toObjectList = function(e, t, r) {
						for (var o = [], s = 0; s < e.length; s++) o[s] = t.call(e[s], r, e[s]);
						return o
					}, goog.exportProperty(jspb.Message, "toObjectList", jspb.Message.toObjectList),
					jspb.Message.toObjectExtension = function(e, t, r, o, s) {
						for (var i in r) {
							var n = r[i],
								a = o.call(e, n);
							if (null != a) {
								for (var g in n.fieldName)
									if (n.fieldName.hasOwnProperty(g)) break;
								t[g] = n.toObjectFn ? n.isRepeated ? jspb.Message.toObjectList(a, n
									.toObjectFn, s) : n.toObjectFn(s, a) : a
							}
						}
					}, goog.exportProperty(jspb.Message, "toObjectExtension", jspb.Message
						.toObjectExtension), jspb.Message.serializeBinaryExtensions = function(e, t,
						r, o) {
						for (var s in r) {
							var i = r[s],
								n = i.fieldInfo;
							if (!i.binaryWriterFn) throw Error(
								"Message extension present that was generated without binary serialization support"
								);
							var a = o.call(e, n);
							if (null != a)
								if (n.isMessageType()) {
									if (!i.binaryMessageSerializeFn) throw Error(
										"Message extension present holding submessage without binary support enabled, and message is being serialized to binary format"
										);
									i.binaryWriterFn.call(t, n.fieldIndex, a, i
										.binaryMessageSerializeFn)
								} else i.binaryWriterFn.call(t, n.fieldIndex, a)
						}
					}, goog.exportProperty(jspb.Message, "serializeBinaryExtensions", jspb.Message
						.serializeBinaryExtensions), jspb.Message.readBinaryExtension = function(e,
						t, r, o, s) {
						var i = r[t.getFieldNumber()];
						if (i) {
							if (r = i.fieldInfo, !i.binaryReaderFn) throw Error(
								"Deserializing extension whose generated code does not support binary format"
								);
							if (r.isMessageType()) {
								var n = new r.ctor;
								i.binaryReaderFn.call(t, n, i.binaryMessageDeserializeFn)
							} else n = i.binaryReaderFn.call(t);
							r.isRepeated && !i.isPacked ? (t = o.call(e, r)) ? t.push(n) : s.call(e,
								r, [n]) : s.call(e, r, n)
						} else t.skipField()
					}, goog.exportProperty(jspb.Message, "readBinaryExtension", jspb.Message
						.readBinaryExtension), jspb.Message.getField = function(e, t) {
						if (t < e.pivot_) {
							t = jspb.Message.getIndex_(e, t);
							var r = e.array[t];
							return r === jspb.Message.EMPTY_LIST_SENTINEL_ ? e.array[t] = [] : r
						}
						if (e.extensionObject_) return (r = e.extensionObject_[t]) === jspb.Message
							.EMPTY_LIST_SENTINEL_ ? e.extensionObject_[t] = [] : r
					}, goog.exportProperty(jspb.Message, "getField", jspb.Message.getField), jspb
					.Message.getRepeatedField = function(e, t) {
						return jspb.Message.getField(e, t)
					}, goog.exportProperty(jspb.Message, "getRepeatedField", jspb.Message
						.getRepeatedField), jspb.Message.getOptionalFloatingPointField = function(e,
						t) {
						return null == (e = jspb.Message.getField(e, t)) ? e : +e
					}, goog.exportProperty(jspb.Message, "getOptionalFloatingPointField", jspb
						.Message.getOptionalFloatingPointField), jspb.Message.getBooleanField =
					function(e, t) {
						return null == (e = jspb.Message.getField(e, t)) ? e : !!e
					}, goog.exportProperty(jspb.Message, "getBooleanField", jspb.Message
						.getBooleanField), jspb.Message.getRepeatedFloatingPointField = function(e,
						t) {
						var r = jspb.Message.getRepeatedField(e, t);
						if (e.convertedPrimitiveFields_ || (e.convertedPrimitiveFields_ = {}), !e
							.convertedPrimitiveFields_[t]) {
							for (var o = 0; o < r.length; o++) r[o] = +r[o];
							e.convertedPrimitiveFields_[t] = !0
						}
						return r
					}, goog.exportProperty(jspb.Message, "getRepeatedFloatingPointField", jspb
						.Message.getRepeatedFloatingPointField), jspb.Message
					.getRepeatedBooleanField = function(e, t) {
						var r = jspb.Message.getRepeatedField(e, t);
						if (e.convertedPrimitiveFields_ || (e.convertedPrimitiveFields_ = {}), !e
							.convertedPrimitiveFields_[t]) {
							for (var o = 0; o < r.length; o++) r[o] = !!r[o];
							e.convertedPrimitiveFields_[t] = !0
						}
						return r
					}, goog.exportProperty(jspb.Message, "getRepeatedBooleanField", jspb.Message
						.getRepeatedBooleanField), jspb.Message.bytesAsB64 = function(e) {
						return null == e || "string" == typeof e ? e : jspb.Message
							.SUPPORTS_UINT8ARRAY_ && e instanceof Uint8Array ? goog.crypt.base64
							.encodeByteArray(e) : (jspb.asserts.fail(
								"Cannot coerce to b64 string: " + goog.typeOf(e)), null)
					}, goog.exportProperty(jspb.Message, "bytesAsB64", jspb.Message.bytesAsB64),
					jspb.Message.bytesAsU8 = function(e) {
						return null == e || e instanceof Uint8Array ? e : "string" == typeof e ?
							goog.crypt.base64.decodeStringToUint8Array(e) : (jspb.asserts.fail(
								"Cannot coerce to Uint8Array: " + goog.typeOf(e)), null)
					}, goog.exportProperty(jspb.Message, "bytesAsU8", jspb.Message.bytesAsU8), jspb
					.Message.bytesListAsB64 = function(e) {
						return jspb.Message.assertConsistentTypes_(e), e.length && "string" !=
							typeof e[0] ? goog.array.map(e, jspb.Message.bytesAsB64) : e
					}, goog.exportProperty(jspb.Message, "bytesListAsB64", jspb.Message
						.bytesListAsB64), jspb.Message.bytesListAsU8 = function(e) {
						return jspb.Message.assertConsistentTypes_(e), !e.length || e[
							0] instanceof Uint8Array ? e : goog.array.map(e, jspb.Message.bytesAsU8)
					}, goog.exportProperty(jspb.Message, "bytesListAsU8", jspb.Message
						.bytesListAsU8), jspb.Message.assertConsistentTypes_ = function(e) {
						if (goog.DEBUG && e && 1 < e.length) {
							var t = goog.typeOf(e[0]);
							goog.array.forEach(e, function(e) {
								goog.typeOf(e) != t && jspb.asserts.fail(
									"Inconsistent type in JSPB repeated field array. Got " +
									goog.typeOf(e) + " expected " + t)
							})
						}
					}, jspb.Message.getFieldWithDefault = function(e, t, r) {
						return null == (e = jspb.Message.getField(e, t)) ? r : e
					}, goog.exportProperty(jspb.Message, "getFieldWithDefault", jspb.Message
						.getFieldWithDefault), jspb.Message.getBooleanFieldWithDefault = function(e,
						t, r) {
						return null == (e = jspb.Message.getBooleanField(e, t)) ? r : e
					}, goog.exportProperty(jspb.Message, "getBooleanFieldWithDefault", jspb.Message
						.getBooleanFieldWithDefault), jspb.Message
					.getFloatingPointFieldWithDefault = function(e, t, r) {
						return null == (e = jspb.Message.getOptionalFloatingPointField(e, t)) ? r :
							e
					}, goog.exportProperty(jspb.Message, "getFloatingPointFieldWithDefault", jspb
						.Message.getFloatingPointFieldWithDefault), jspb.Message.getFieldProto3 =
					jspb.Message.getFieldWithDefault, goog.exportProperty(jspb.Message,
						"getFieldProto3", jspb.Message.getFieldProto3), jspb.Message.getMapField =
					function(e, t, r, o) {
						if (e.wrappers_ || (e.wrappers_ = {}), t in e.wrappers_) return e.wrappers_[
							t];
						var s = jspb.Message.getField(e, t);
						if (!s) {
							if (r) return;
							s = [], jspb.Message.setField(e, t, s)
						}
						return e.wrappers_[t] = new jspb.Map(s, o)
					}, goog.exportProperty(jspb.Message, "getMapField", jspb.Message.getMapField),
					jspb.Message.setField = function(e, t, r) {
						return jspb.asserts.assertInstanceof(e, jspb.Message), t < e.pivot_ ? e
							.array[jspb.Message.getIndex_(e, t)] = r : (jspb.Message
								.maybeInitEmptyExtensionObject_(e), e.extensionObject_[t] = r), e
					}, goog.exportProperty(jspb.Message, "setField", jspb.Message.setField), jspb
					.Message.setProto3IntField = function(e, t, r) {
						return jspb.Message.setFieldIgnoringDefault_(e, t, r, 0)
					}, goog.exportProperty(jspb.Message, "setProto3IntField", jspb.Message
						.setProto3IntField), jspb.Message.setProto3FloatField = function(e, t, r) {
						return jspb.Message.setFieldIgnoringDefault_(e, t, r, 0)
					}, goog.exportProperty(jspb.Message, "setProto3FloatField", jspb.Message
						.setProto3FloatField), jspb.Message.setProto3BooleanField = function(e, t,
						r) {
						return jspb.Message.setFieldIgnoringDefault_(e, t, r, !1)
					}, goog.exportProperty(jspb.Message, "setProto3BooleanField", jspb.Message
						.setProto3BooleanField), jspb.Message.setProto3StringField = function(e, t,
						r) {
						return jspb.Message.setFieldIgnoringDefault_(e, t, r, "")
					}, goog.exportProperty(jspb.Message, "setProto3StringField", jspb.Message
						.setProto3StringField), jspb.Message.setProto3BytesField = function(e, t,
					r) {
						return jspb.Message.setFieldIgnoringDefault_(e, t, r, "")
					}, goog.exportProperty(jspb.Message, "setProto3BytesField", jspb.Message
						.setProto3BytesField), jspb.Message.setProto3EnumField = function(e, t, r) {
						return jspb.Message.setFieldIgnoringDefault_(e, t, r, 0)
					}, goog.exportProperty(jspb.Message, "setProto3EnumField", jspb.Message
						.setProto3EnumField), jspb.Message.setProto3StringIntField = function(e, t,
						r) {
						return jspb.Message.setFieldIgnoringDefault_(e, t, r, "0")
					}, goog.exportProperty(jspb.Message, "setProto3StringIntField", jspb.Message
						.setProto3StringIntField), jspb.Message.setFieldIgnoringDefault_ = function(
						e, t, r, o) {
						return jspb.asserts.assertInstanceof(e, jspb.Message), r !== o ? jspb
							.Message.setField(e, t, r) : t < e.pivot_ ? e.array[jspb.Message
								.getIndex_(e, t)] = null : (jspb.Message
								.maybeInitEmptyExtensionObject_(e), delete e.extensionObject_[t]), e
					}, jspb.Message.addToRepeatedField = function(e, t, r, o) {
						return jspb.asserts.assertInstanceof(e, jspb.Message), t = jspb.Message
							.getRepeatedField(e, t), null != o ? t.splice(o, 0, r) : t.push(r), e
					}, goog.exportProperty(jspb.Message, "addToRepeatedField", jspb.Message
						.addToRepeatedField), jspb.Message.setOneofField = function(e, t, r, o) {
						return jspb.asserts.assertInstanceof(e, jspb.Message), (r = jspb.Message
							.computeOneofCase(e, r)) && r !== t && void 0 !== o && (e
							.wrappers_ && r in e.wrappers_ && (e.wrappers_[r] = void 0), jspb
							.Message.setField(e, r, void 0)), jspb.Message.setField(e, t, o)
					}, goog.exportProperty(jspb.Message, "setOneofField", jspb.Message
						.setOneofField), jspb.Message.computeOneofCase = function(e, t) {
						for (var r, o, s = 0; s < t.length; s++) {
							var i = t[s],
								n = jspb.Message.getField(e, i);
							null != n && (r = i, o = n, jspb.Message.setField(e, i, void 0))
						}
						return r ? (jspb.Message.setField(e, r, o), r) : 0
					}, goog.exportProperty(jspb.Message, "computeOneofCase", jspb.Message
						.computeOneofCase), jspb.Message.getWrapperField = function(e, t, r, o) {
						if (e.wrappers_ || (e.wrappers_ = {}), !e.wrappers_[r]) {
							var s = jspb.Message.getField(e, r);
							(o || s) && (e.wrappers_[r] = new t(s))
						}
						return e.wrappers_[r]
					}, goog.exportProperty(jspb.Message, "getWrapperField", jspb.Message
						.getWrapperField), jspb.Message.getRepeatedWrapperField = function(e, t,
					r) {
						return jspb.Message.wrapRepeatedField_(e, t, r), (t = e.wrappers_[r]) ==
							jspb.Message.EMPTY_LIST_SENTINEL_ && (t = e.wrappers_[r] = []), t
					}, goog.exportProperty(jspb.Message, "getRepeatedWrapperField", jspb.Message
						.getRepeatedWrapperField), jspb.Message.wrapRepeatedField_ = function(e, t,
						r) {
						if (e.wrappers_ || (e.wrappers_ = {}), !e.wrappers_[r]) {
							for (var o = jspb.Message.getRepeatedField(e, r), s = [], i = 0; i < o
								.length; i++) s[i] = new t(o[i]);
							e.wrappers_[r] = s
						}
					}, jspb.Message.setWrapperField = function(e, t, r) {
						jspb.asserts.assertInstanceof(e, jspb.Message), e.wrappers_ || (e
							.wrappers_ = {});
						var o = r ? r.toArray() : r;
						return e.wrappers_[t] = r, jspb.Message.setField(e, t, o)
					}, goog.exportProperty(jspb.Message, "setWrapperField", jspb.Message
						.setWrapperField), jspb.Message.setOneofWrapperField = function(e, t, r,
					o) {
						jspb.asserts.assertInstanceof(e, jspb.Message), e.wrappers_ || (e
							.wrappers_ = {});
						var s = o ? o.toArray() : o;
						return e.wrappers_[t] = o, jspb.Message.setOneofField(e, t, r, s)
					}, goog.exportProperty(jspb.Message, "setOneofWrapperField", jspb.Message
						.setOneofWrapperField), jspb.Message.setRepeatedWrapperField = function(e,
						t, r) {
						jspb.asserts.assertInstanceof(e, jspb.Message), e.wrappers_ || (e
							.wrappers_ = {}), r = r || [];
						for (var o = [], s = 0; s < r.length; s++) o[s] = r[s].toArray();
						return e.wrappers_[t] = r, jspb.Message.setField(e, t, o)
					}, goog.exportProperty(jspb.Message, "setRepeatedWrapperField", jspb.Message
						.setRepeatedWrapperField), jspb.Message.addToRepeatedWrapperField =
					function(e, t, r, o, s) {
						jspb.Message.wrapRepeatedField_(e, o, t);
						var i = e.wrappers_[t];
						return i || (i = e.wrappers_[t] = []), r = r || new o, e = jspb.Message
							.getRepeatedField(e, t), null != s ? (i.splice(s, 0, r), e.splice(s, 0,
								r.toArray())) : (i.push(r), e.push(r.toArray())), r
					}, goog.exportProperty(jspb.Message, "addToRepeatedWrapperField", jspb.Message
						.addToRepeatedWrapperField), jspb.Message.toMap = function(e, t, r, o) {
						for (var s = {}, i = 0; i < e.length; i++) s[t.call(e[i])] = r ? r.call(e[
							i], o, e[i]) : e[i];
						return s
					}, goog.exportProperty(jspb.Message, "toMap", jspb.Message.toMap), jspb.Message
					.prototype.syncMapFields_ = function() {
						if (this.wrappers_)
							for (var e in this.wrappers_) {
								var t = this.wrappers_[e];
								if (Array.isArray(t))
									for (var r = 0; r < t.length; r++) t[r] && t[r].toArray();
								else t && t.toArray()
							}
					}, jspb.Message.prototype.toArray = function() {
						return this.syncMapFields_(), this.array
					}, goog.exportProperty(jspb.Message.prototype, "toArray", jspb.Message.prototype
						.toArray), jspb.Message.GENERATE_TO_STRING && (jspb.Message.prototype
						.toString = function() {
							return this.syncMapFields_(), this.array.toString()
						}), jspb.Message.prototype.getExtension = function(e) {
						if (this.extensionObject_) {
							this.wrappers_ || (this.wrappers_ = {});
							var t = e.fieldIndex;
							if (e.isRepeated) {
								if (e.isMessageType()) return this.wrappers_[t] || (this.wrappers_[
									t] = goog.array.map(this.extensionObject_[t] || [],
									function(t) {
										return new e.ctor(t)
									})), this.wrappers_[t]
							} else if (e.isMessageType()) return !this.wrappers_[t] && this
								.extensionObject_[t] && (this.wrappers_[t] = new e.ctor(this
									.extensionObject_[t])), this.wrappers_[t];
							return this.extensionObject_[t]
						}
					}, goog.exportProperty(jspb.Message.prototype, "getExtension", jspb.Message
						.prototype.getExtension), jspb.Message.prototype.setExtension = function(e,
						t) {
						this.wrappers_ || (this.wrappers_ = {}), jspb.Message
							.maybeInitEmptyExtensionObject_(this);
						var r = e.fieldIndex;
						return e.isRepeated ? (t = t || [], e.isMessageType() ? (this.wrappers_[r] =
								t, this.extensionObject_[r] = goog.array.map(t, function(e) {
									return e.toArray()
								})) : this.extensionObject_[r] = t) : e.isMessageType() ? (this
								.wrappers_[r] = t, this.extensionObject_[r] = t ? t.toArray() : t) :
							this.extensionObject_[r] = t, this
					}, goog.exportProperty(jspb.Message.prototype, "setExtension", jspb.Message
						.prototype.setExtension), jspb.Message.difference = function(e, t) {
						if (!(e instanceof t.constructor)) throw Error(
							"Messages have different types.");
						var r = e.toArray();
						t = t.toArray();
						var o = [],
							s = 0,
							i = r.length > t.length ? r.length : t.length;
						for (e.getJsPbMessageId() && (o[0] = e.getJsPbMessageId(), s = 1); s <
							i; s++) jspb.Message.compareFields(r[s], t[s]) || (o[s] = t[s]);
						return new e.constructor(o)
					}, goog.exportProperty(jspb.Message, "difference", jspb.Message.difference),
					jspb.Message.equals = function(e, t) {
						return e == t || !(!e || !t) && e instanceof t.constructor && jspb.Message
							.compareFields(e.toArray(), t.toArray())
					}, goog.exportProperty(jspb.Message, "equals", jspb.Message.equals), jspb
					.Message.compareExtensions = function(e, t) {
						e = e || {}, t = t || {};
						var r, o = {};
						for (r in e) o[r] = 0;
						for (r in t) o[r] = 0;
						for (r in o)
							if (!jspb.Message.compareFields(e[r], t[r])) return !1;
						return !0
					}, goog.exportProperty(jspb.Message, "compareExtensions", jspb.Message
						.compareExtensions), jspb.Message.compareFields = function(e, t) {
						if (e == t) return !0;
						if (!goog.isObject(e) || !goog.isObject(t)) return !!("number" ==
								typeof e && isNaN(e) || "number" == typeof t && isNaN(t)) &&
							String(e) == String(t);
						if (e.constructor != t.constructor) return !1;
						if (jspb.Message.SUPPORTS_UINT8ARRAY_ && e.constructor === Uint8Array) {
							if (e.length != t.length) return !1;
							for (var r = 0; r < e.length; r++)
								if (e[r] != t[r]) return !1;
							return !0
						}
						if (e.constructor === Array) {
							var o = void 0,
								s = void 0,
								i = Math.max(e.length, t.length);
							for (r = 0; r < i; r++) {
								var n = e[r],
									a = t[r];
								if (n && n.constructor == Object && (jspb.asserts.assert(void 0 ===
											o), jspb.asserts.assert(r === e.length - 1), o = n, n =
										void 0), a && a.constructor == Object && (jspb.asserts
										.assert(void 0 === s), jspb.asserts.assert(r === t.length -
											1), s = a, a = void 0), !jspb.Message.compareFields(n,
										a)) return !1
							}
							return !o && !s || (o = o || {}, s = s || {}, jspb.Message
								.compareExtensions(o, s))
						}
						if (e.constructor === Object) return jspb.Message.compareExtensions(e, t);
						throw Error("Invalid type in JSPB array")
					}, goog.exportProperty(jspb.Message, "compareFields", jspb.Message
						.compareFields), jspb.Message.prototype.cloneMessage = function() {
						return jspb.Message.cloneMessage(this)
					}, goog.exportProperty(jspb.Message.prototype, "cloneMessage", jspb.Message
						.prototype.cloneMessage), jspb.Message.prototype.clone = function() {
						return jspb.Message.cloneMessage(this)
					}, goog.exportProperty(jspb.Message.prototype, "clone", jspb.Message.prototype
						.clone), jspb.Message.clone = function(e) {
						return jspb.Message.cloneMessage(e)
					}, goog.exportProperty(jspb.Message, "clone", jspb.Message.clone), jspb.Message
					.cloneMessage = function(e) {
						return new e.constructor(jspb.Message.clone_(e.toArray()))
					}, jspb.Message.copyInto = function(e, t) {
						jspb.asserts.assertInstanceof(e, jspb.Message), jspb.asserts
							.assertInstanceof(t, jspb.Message), jspb.asserts.assert(e.constructor ==
								t.constructor,
								"Copy source and target message should have the same type."), e =
							jspb.Message.clone(e);
						for (var r = t.toArray(), o = e.toArray(), s = r.length = 0; s < o
							.length; s++) r[s] = o[s];
						t.wrappers_ = e.wrappers_, t.extensionObject_ = e.extensionObject_
					}, goog.exportProperty(jspb.Message, "copyInto", jspb.Message.copyInto), jspb
					.Message.clone_ = function(e) {
						if (Array.isArray(e)) {
							for (var t = Array(e.length), r = 0; r < e.length; r++) {
								var o = e[r];
								null != o && (t[r] = "object" == typeof o ? jspb.Message.clone_(jspb
									.asserts.assert(o)) : o)
							}
							return t
						}
						if (jspb.Message.SUPPORTS_UINT8ARRAY_ && e instanceof Uint8Array)
						return new Uint8Array(e);
						for (r in t = {}, e) null != (o = e[r]) && (t[r] = "object" == typeof o ?
							jspb.Message.clone_(jspb.asserts.assert(o)) : o);
						return t
					}, jspb.Message.registerMessageType = function(e, t) {
						t.messageId = e
					}, goog.exportProperty(jspb.Message, "registerMessageType", jspb.Message
						.registerMessageType), jspb.Message.messageSetExtensions = {}, jspb.Message
					.messageSetExtensionsBinary = {}, jspb.Export = {}, "object" ==
					typeof exports && (exports.Map = jspb.Map, exports.Message = jspb.Message,
						exports.BinaryReader = jspb.BinaryReader, exports.BinaryWriter = jspb
						.BinaryWriter, exports.ExtensionFieldInfo = jspb.ExtensionFieldInfo, exports
						.ExtensionFieldBinaryInfo = jspb.ExtensionFieldBinaryInfo, exports
						.exportSymbol = goog.exportSymbol, exports.inherits = goog.inherits, exports
						.object = {
							extend: goog.object.extend
						}, exports.typeOf = goog.typeOf)
			}).call(this)
		}).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self :
			"undefined" != typeof window ? window : {})
	}, {}]
}, {}, [1]);
